From 8fbd0a22be1ae89df602401e8c9a5f054b13ffcc Mon Sep 17 00:00:00 2001 From: Ricardo Date: Thu, 10 Dec 2020 11:58:10 +0000 Subject: [PATCH] feat: header & footer --- LICENSE | 2 +- PIPELINE.md | 94 - README.md | 6 +- config.toml | 36 - src/.vuepress/config.js | 38 +- .../001-run-ipfs-on-docker/ascii/ascii.css | 2194 +++ .../001-run-ipfs-on-docker/ascii/ascii.js | 8 + .../001-run-ipfs-on-docker/ascii/index.html | 44 + .../001-run-ipfs-on-docker/ascii/stdout.json | 15756 ++++++++++++++++ .../ascii/ascii.css | 2194 +++ .../077-collaborative-clusters/ascii/ascii.js | 8 + .../ascii/index.html | 44 + .../ascii/stdout.json | 15756 ++++++++++++++++ .../blog/22-run-ipfs-on-a-vps/ascii/ascii.css | 2194 +++ .../blog/22-run-ipfs-on-a-vps/ascii/ascii.js | 8 + .../22-run-ipfs-on-a-vps/ascii/index.html | 44 + .../22-run-ipfs-on-a-vps/ascii/stdout.json | 453 + .../theme/components/Breadcrumbs.vue | 35 + src/.vuepress/theme/components/Footer.vue | 271 +- src/.vuepress/theme/components/MobileNav.vue | 115 + src/.vuepress/theme/components/Nav.vue | 211 + .../theme/components/blog/ActiveTags.vue | 21 +- src/.vuepress/theme/components/blog/Card.vue | 96 +- .../theme/components/blog/NewsletterForm.vue | 70 +- .../theme/components/blog/NewslinkCard.vue | 63 + .../theme/components/blog/RegularCard.vue | 91 + src/.vuepress/theme/enhanceApp.js | 6 + src/.vuepress/theme/layouts/Blog.vue | 44 +- src/.vuepress/theme/layouts/GlobalLayout.vue | 7 + src/.vuepress/theme/store/appState.js | 23 + src/.vuepress/theme/store/store.js | 19 + .../theme/styles/components/index.css | 2 +- src/.vuepress/theme/svg-icon/ipfs-logo.svg | 1 + src/.vuepress/theme/util/blogUtils.js | 58 + src/.vuepress/theme/util/tagUtils.js | 10 +- src/_blog/001-run-ipfs-on-docker/README.md | 2 +- src/_blog/011-run-ipfs-on-a-vps/README.md | 3 +- src/_blog/038-js-ipfs-0.34/README.md | 2 +- src/_blog/047-js-ipfs-0.36/README.md | 4 +- src/_blog/070-js-ipfs-0-38/README.md | 8 +- src/_blog/072-js-ipfs-0.39/README.md | 8 +- src/_blog/075-js-ipfs-0.40/README.md | 2 +- .../077-collaborative-clusters/README.md | 3 +- src/_blog/083-js-ipfs-0.41/README.md | 4 +- src/_blog/087-js-ipfs-0.42/README.md | 10 +- src/_blog/092-launching-testground/README.md | 3 +- src/_blog/104-js-ipfs-0.48/README.md | 6 +- src/_blog/110-go-ipfs-0-7-0/README.md | 10 +- src/_blog/newslinks/README.md | 20 + src/_blog/weekly-010/README.md | 2 +- 50 files changed, 39795 insertions(+), 314 deletions(-) delete mode 100644 PIPELINE.md delete mode 100644 config.toml create mode 100644 src/.vuepress/public/blog/001-run-ipfs-on-docker/ascii/ascii.css create mode 100644 src/.vuepress/public/blog/001-run-ipfs-on-docker/ascii/ascii.js create mode 100644 src/.vuepress/public/blog/001-run-ipfs-on-docker/ascii/index.html create mode 100644 src/.vuepress/public/blog/001-run-ipfs-on-docker/ascii/stdout.json create mode 100644 src/.vuepress/public/blog/077-collaborative-clusters/ascii/ascii.css create mode 100644 src/.vuepress/public/blog/077-collaborative-clusters/ascii/ascii.js create mode 100644 src/.vuepress/public/blog/077-collaborative-clusters/ascii/index.html create mode 100644 src/.vuepress/public/blog/077-collaborative-clusters/ascii/stdout.json create mode 100644 src/.vuepress/public/blog/22-run-ipfs-on-a-vps/ascii/ascii.css create mode 100644 src/.vuepress/public/blog/22-run-ipfs-on-a-vps/ascii/ascii.js create mode 100644 src/.vuepress/public/blog/22-run-ipfs-on-a-vps/ascii/index.html create mode 100644 src/.vuepress/public/blog/22-run-ipfs-on-a-vps/ascii/stdout.json create mode 100644 src/.vuepress/theme/components/Breadcrumbs.vue create mode 100644 src/.vuepress/theme/components/MobileNav.vue create mode 100644 src/.vuepress/theme/components/Nav.vue create mode 100644 src/.vuepress/theme/components/blog/NewslinkCard.vue create mode 100644 src/.vuepress/theme/components/blog/RegularCard.vue create mode 100644 src/.vuepress/theme/store/appState.js create mode 100644 src/.vuepress/theme/store/store.js create mode 100644 src/.vuepress/theme/svg-icon/ipfs-logo.svg create mode 100644 src/.vuepress/theme/util/blogUtils.js create mode 100644 src/_blog/newslinks/README.md diff --git a/LICENSE b/LICENSE index 55a2d036..1e852cf6 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016 Protocol Labs +Copyright (c) 2020 Protocol Labs Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/PIPELINE.md b/PIPELINE.md deleted file mode 100644 index 29039141..00000000 --- a/PIPELINE.md +++ /dev/null @@ -1,94 +0,0 @@ -# IPFS Blog Pipeline - -This document describes the IPFS Blog work pipeline. This is the protocol of how work happens in this project and repository. - -## Pipeline High Level Description (Model) - -1. **Idea Generation** - The first step of the pipeline is to generate a set of blog post ideas. An idea should include a name, and a single sentence description of the thrust of the post, and a short abstract. (these will change over time, of course, but it's useful to be able to refer to the post ideas by name). - -2. **Selection** - the maintainer and other people interested will assign Owners to a given post, decide on rough deadlines, and assign people to support (with image editing, review, QA, etc). - -3. **Skeleton** - General list of the headings, things which we want to exposé, and code segments that will be relevant - -4. **Research** - Identify the key points to discuss in the piece. This can cycle back to improve the skeleton as well. - -5. **Writing** - Flesh out the material into smooth, interesting prose. This is the most writing-craft part of the pipeline. - -6. **Review** - Review is an iterative process where the writer(s) and reviewer(s) discuss various facets of the post and refine it. This process is similar to Code Review. Review involves different pieces: - -a. **Content Review** is focused on refining the quality of the written content, this involves review of the ideas, the points, the technical discussion, any assets (like images), and so on. This is the space for reviewing what the piece says. - -b. **Technical Review** is focused on ensuring the content is technically correct. It is important that developers review and address any issues. - -c. **Cohesion Review** is focused on how this post relates to others, and to the rest of the project. The goal is to surface any intersection points with other content, other projects, and so on. This makes the post richer, and makes it fit better in the larger context. - -d. **Mechanics Review** is focused on things about our particular blog publishing process, things making sure all embedded assets are included directly in the post directory, links are relative, etc. (this needs to be a checklist) - -7. **Backlog** - Once the post has finished review, it is marked ready to publish. This promotes the post into a backlog. The queue is not sequential, meaning that posts that enter it after others may be published before. The goal of the backlog is to aggregate content **_READY TO PUBLISH_** to create a better, more regular experience for blog readers. - -8. **Publish** - Publishing the post involves pushing it to our blog website and various other communication channels. For example: - -- Publishing on the blog website (and/or ipfs.io website) -- Publishing posts on Twitter, IRC, mailing lists, and so on. -- If relevant, promote on related publications -- Mail to specific interested groups or individuals. - -## Pipeline Implementation - -This is how the pipeline described above is actually implemented. We discuss the roles being played by various participants, the mechanics in GitHub (issues, pull requests, labels), and the artifacts (the text, markdown files, image assets, etc). - -- **Repo:** We will run this pipeline primarily through a repository on github: https://github.com/ipfs/blog, we will use issues to source ideas for posts, and pull requests for fleshing out, writing, and reviewing posts. - -### Pipeline Roles - -- **Maintainer:** The pipeline has a "maintainer" that ensures the pipelines is progressing smoothly, and is there to ensure adherence to the guidelines and help address issues. -- **Owner:** Each post will have an "owner" that will pick up the post at Step 2 (Skeleton) and be responsible for running it through the pipeline to its conclusion. The owner can change, it just needs to be an explicit hand off, as the owner will be directly responsible individual for finishing and publishing post. The owner will work with whoever else is relevant to achieve the rest of the steps in the pipeline. -- **Reviewers:** Each post will have a set of reviewers that will come in during the review step of the pipeline. -- **Publishers:** The final step, publishing, may involve other people independent of the pipeline, that manage the various communication channels (blog website, mailing lists, social media, etc). It is the responsibility of the **Owner** to get what they need from the **Publishers** to deliver. **Important Note:** it is up to the **Maintainer** to figure out and decide when blog posts should be published, because broader context is required. - -Note that the role of "author" is not used, as authorship may end up including the owner(s), reviewer(s), maintainer(s), and other writer(s) who help alongside. The final Authors of the piece are established based on the contribution. Hence, let's not say "author" when we mean "owner" or "writer". - -### Pipeline Stage Mechanics - -**Important Note** each of the pipeline stages has an associated **Github Label**, please use them! We use these labels to figure out where the blog post is in the pipeline. Post **Owners**: make sure both the issue and pull requests for your post have the right label, and are assigned to you. **Pipeline Maintainer**: please verify posts carry the right labels and are assigned to the owners. - -1. **Idea Generation:** this part happens on the issue tracker: https://github.com/ipfs/blog/issues - each blog post idea is posted as an independent issue, with its own name, sentence description, and short abstract. - -2. **Selection:** this part happens in the blog post's issue, with whatever relevant discussion should happen. From there, the issue is assigned to whoever is selected as "Owner". - -3. **Skeleton:** this part happens as a pull request. A pull request is created adding a directory (draft), with markdown files for the post content (`index.md`) and the skeleton (`skeleton.md`). Copy the post skeleton directory into a new directory for your post. Fill in the skeleton (take a look at the example, and remove that file). And create a pull request: - - ``` - # clone the repo if you haven't - git clone https://github.com/ipfs/blog - cd blog - - # then edit drafts/my-post-draft/skeleton.md - cp -r drafts/post-draft-template drafts/my-post-draft - - # remove the example when you're ready - rm drafts/my-post-draft/skeleton-example.md - ``` - -4. **Research**: this should happen in the pull request. Feel free to drop down ideas in the pull request comments section, or in the files themselves. Whatever you find most productive! Feel free to involve others in the pull request. Source the knowledge from wherever you need to. This is a good time to line up any illustrations you may need. - -5. **Writing**: this happens in the markdown file. At the end, the draft for review should be committed and on the github pull-request. - -6. **Review**: this happens in the blog post pull request. Reviewers will check various parts of the post, for content, technical accuracy, story cohesion, and mechanics. (It is possible that the mechanics part is a checklist, and it may be able to be turned into a CI test). Reviewer and Owner iteration happens in the pull-request. Once the pull-request is ready, and all reviewers have signed off on it, the post can be merged. It will be merged as a draft, into the `drafts/` folder. At this point, the blog post issue moves to the Backlog stage. - -7. **Backlog**: in this stage, all the post materials are ready to go and in the `drafts/` folder, and the post issue has the `Backlog` label. The post stays here until publication, which the maintainer and owner figure out together. During this time, the post may get "unfresh" (no longer accurate, or should also incorporate new news), if so, maintainer and owner can file a PR to improve the post. - -8. **Publish**: this stage involves the following steps. These are mostly mechanical and involve support from a developer on the infra or web team (@lgierth as of June 2017). It is possible some of this can be automated with scripts, and CI tests. - -- [ ] file a PR with changes necessary to publish - - [ ] move the post directory from the `drafts/` folder into `src/` - - [ ] adjust the filenames (to add the sequential number) - - [ ] change the post date to reflect publication date -- [ ] review + merge PR. -- [ ] publish blog website (blog.ipfs.io and on ipfs website) - - [ ] ensure all content is pinned - - [ ] ensure website is live and post is correct -- [ ] post and/or announce on communication channels: - - [ ] publish post in newsletter mailing list - - [ ] tweet out from @IPFSbot and RT - - [ ] post link to tweet in IRC diff --git a/README.md b/README.md index 769d1f75..ae17119f 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ With `make`, [`node`](http://nodejs.org) and `npm` installed on your system, you **Run the site in dev mode** -```console +```bash $ make dev ... @@ -42,7 +42,7 @@ Run it and open in your browser, and start editing your **Build the production site** -```console +```bash $ make ... @@ -72,7 +72,7 @@ Back in October last year, the Go Core Dev Team for the IPFS, IPLD, and libp2p p **To create your new post** find the last post in `content/post`, create a copy, and change the file name by incrementing the number in the title, and change the name to be a useful URL slug for your post. e.g. -```console +```bash $ cd content/post $ cp 66-london-hack-week-report.md 67-incredible-adventures.md ``` diff --git a/config.toml b/config.toml deleted file mode 100644 index 796315ab..00000000 --- a/config.toml +++ /dev/null @@ -1,36 +0,0 @@ -baseURL = "https://blog.ipfs.io" -relativeURLs = true -googleAnalytics = "UA-52930282-2" -ignoreFiles = [ "\\.js\\.tmp*"] - -DefaultContentLanguage = "en" -languageCode = "en-us" -hasCJKLanguage = true -enableMissingTranslationPlaceholders = false -summaryLength = 20 -paginate = 9 - -[params] - domain = "blog.ipfs.io" - name = "IPFS Blog" - title = "IPFS Blog" - description = "A peer-to-peer hypermedia protocol to make the web faster, safer, and more open." - author = "Protocol Labs" - github = "https://github.com/ipfs/blog" - social = [ { title = "Twitter", link = "https://twitter.com/IPFS" }, - { title = "Facebook", link = "https://www.facebook.com/sharer/sharer.php?u=https://ipfs.io" }, - { title = "YouTube", link = "https://www.youtube.com/channel/UCdjsUXJ3QawK4O5L1kqqsew" } ] - -[outputs] - home = ["HTML", "RSS", "JSON"] - -[languages] - [languages.en] - languageName = "English" - languageCode = "en" - weight = 0 - [languages.zh-cn] - languageName = "中文(中国)" - contentDir = "content-i18n/zh-cn" - languageCode = "zh-cn" - weight = 10 diff --git a/src/.vuepress/config.js b/src/.vuepress/config.js index 4f91a839..30cad6e5 100644 --- a/src/.vuepress/config.js +++ b/src/.vuepress/config.js @@ -34,11 +34,41 @@ module.exports = { }, themeConfig: { dateFormat: 'DD MMMM YYYY', - socialLinks: [], + socialLinks: [ + { + text: 'Twitter', + link: 'https://twitter.com/protocollabs', + icon: 'twitter-icon', + }, + { + text: 'LinkedIn', + link: 'https://www.linkedin.com/company/protocollabs/', + icon: 'linkedin-icon', + }, + { + text: 'YouTube', + link: 'https://www.youtube.com/ProtocolLabs/', + icon: 'youtube-icon', + }, + ], footerLinks: [], footerLegal: '', - headerLinks: [], - mobileNavLinks: [], + headerLinks: [ + { text: 'About', link: 'https://ipfs.io/#why' }, + { text: 'Install', link: 'https://ipfs.io/#install' }, + { text: 'Docs', link: 'https://docs.ipfs.io/' }, + { text: 'Team', link: 'https://ipfs.io/team' }, + { text: 'Blog', link: '/' }, + { text: 'Help', link: 'https://ipfs.io/help' }, + ], + mobileNavLinks: [ + { text: 'About', link: 'https://ipfs.io/#why' }, + { text: 'Install', link: 'https://ipfs.io/#install' }, + { text: 'Docs', link: 'https://docs.ipfs.io/' }, + { text: 'Team', link: 'https://ipfs.io/team' }, + { text: 'Blog', link: '/' }, + { text: 'Help', link: 'https://ipfs.io/help' }, + ], }, plugins: [ ['@vuepress/last-updated'], @@ -91,7 +121,7 @@ module.exports = { id: 'blog', dirname: '_blog', path: '/', - itemPermalink: '/blog/:slug', + itemPermalink: '/:slug', layout: 'Blog', itemLayout: 'BlogPost', frontmatter: { diff --git a/src/.vuepress/public/blog/001-run-ipfs-on-docker/ascii/ascii.css b/src/.vuepress/public/blog/001-run-ipfs-on-docker/ascii/ascii.css new file mode 100644 index 00000000..133b4903 --- /dev/null +++ b/src/.vuepress/public/blog/001-run-ipfs-on-docker/ascii/ascii.css @@ -0,0 +1,2194 @@ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-weight: 300; + src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), + url('/assets/SourceSansPro-Light-cb5f24b874dd29bfdab1cc7ba590050b.ttf') + format('truetype'); +} +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-weight: 400; + src: local('Source Sans Pro'), local('SourceSansPro-Regular'), + url('/assets/SourceSansPro-Regular-380e3442e962e8df8400b12103dcfe4b.ttf') + format('truetype'); +} +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-weight: 600; + src: local('Source Sans Pro Semibold'), local('SourceSansPro-Semibold'), + url('/assets/SourceSansPro-Semibold-09cd57424bbe12628f6a7d053a5ca005.ttf') + format('truetype'); +} +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-weight: 700; + src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), + url('/assets/SourceSansPro-Bold-cd97ece0b41eec05e41405136e685aeb.ttf') + format('truetype'); +} +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-weight: 400; + src: local('Source Sans Pro Italic'), local('SourceSansPro-It'), + url('/assets/SourceSansPro-Italic-a7495cd987fd1606036916e964995177.ttf') + format('truetype'); +} +.asciinema-player-wrapper { + text-align: center; + outline: none; +} +.asciinema-player-wrapper:fullscreen { + background-color: #000; + width: 100%; + height: 100%; +} +.asciinema-player-wrapper:-webkit-full-screen { + background-color: #000; + width: 100%; + height: 100%; +} +.asciinema-player-wrapper:-moz-full-screen { + background-color: #000; + width: 100%; + height: 100%; +} +.asciinema-player-wrapper .asciinema-player { + text-align: left; + display: inline-block; + padding: 0px; + position: relative; + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + max-width: 100%; +} +.asciinema-terminal { + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + padding: 0; + margin: 0px; + display: block; + white-space: pre; + border: 0; + word-wrap: normal; + word-break: normal; + border-radius: 0; + border-style: solid; + cursor: text; + font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, + 'Powerline Symbols'; +} +.asciinema-terminal .line { + letter-spacing: normal; + overflow: hidden; +} +.asciinema-terminal .line span { + padding: 0; + display: inline-block; +} +.asciinema-terminal .line { + display: block; + width: 200%; +} +.asciinema-terminal .bright { + font-weight: bold; +} +.asciinema-terminal .underline { + text-decoration: underline; +} +.asciinema-terminal .italic { + font-style: italic; +} +.asciinema-terminal.font-small { + font-size: 12px; + line-height: 16px; + border-width: 6px; +} +.asciinema-terminal.font-small .line { + height: 16px; +} +.asciinema-terminal.font-small .line span { + height: 16px; +} +.asciinema-terminal.font-medium { + font-size: 18px; + line-height: 24px; + border-width: 9px; +} +.asciinema-terminal.font-medium .line { + height: 24px; +} +.asciinema-terminal.font-medium .line span { + height: 24px; +} +.asciinema-terminal.font-big { + font-size: 24px; + line-height: 32px; + border-width: 12px; +} +.asciinema-terminal.font-big .line { + height: 32px; +} +.asciinema-terminal.font-big .line span { + height: 32px; +} +.asciinema-terminal .font-sample { + display: block; +} +.asciinema-terminal .font-sample.font-small { + font-size: 12px; + line-height: 16px; +} +.asciinema-terminal .font-sample.font-small .line { + height: 16px; +} +.asciinema-terminal .font-sample.font-small .line span { + height: 16px; +} +.asciinema-terminal .font-sample.font-medium { + font-size: 18px; + line-height: 24px; +} +.asciinema-terminal .font-sample.font-medium .line { + height: 24px; +} +.asciinema-terminal .font-sample.font-medium .line span { + height: 24px; +} +.asciinema-terminal .font-sample.font-big { + font-size: 24px; + line-height: 32px; +} +.asciinema-terminal .font-sample.font-big .line { + height: 32px; +} +.asciinema-terminal .font-sample.font-big .line span { + height: 32px; +} +.asciinema-player:hover .control-bar { + color: #fff; +} +.asciinema-player:hover .control-bar .progressbar .bar .gutter span { + background-color: #fff; +} +.asciinema-player:hover .control-bar svg.icon path { + fill: #fff; +} +.asciinema-player .control-bar { + width: 100%; + height: 32px; + background-color: #000; + color: #bbb; + border-top: 1px solid #222; + box-sizing: content-box; + line-height: 1; +} +.asciinema-player .control-bar * { + box-sizing: inherit; + font-size: 0; +} +.asciinema-player .control-bar svg.icon path { + fill: #bbb; +} +.asciinema-player .control-bar .playback-button { + display: block; + float: left; + cursor: pointer; + height: 12px; + width: 12px; + padding: 10px; +} +.asciinema-player .control-bar .playback-button svg { + height: 12px; + width: 12px; +} +.asciinema-player .control-bar .timer { + display: block; + float: left; + width: 50px; + height: 100%; + text-align: center; + font-family: Helvetica, Arial, sans-serif; + font-size: 11px; + font-weight: bold; + line-height: 32px; +} +.asciinema-player .control-bar .timer span { + cursor: default; + display: inline-block; + font-size: inherit; +} +.asciinema-player .control-bar .timer .time-remaining { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-elapsed { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-remaining { + display: inline; +} +.asciinema-player .control-bar .progressbar { + display: block; + overflow: hidden; + height: 100%; + padding: 0 10px; +} +.asciinema-player .control-bar .progressbar .bar { + display: block; + cursor: pointer; + height: 100%; + padding-top: 15px; + font-size: 0; +} +.asciinema-player .control-bar .progressbar .bar .gutter { + display: block; + height: 3px; + background-color: #333; +} +.asciinema-player .control-bar .progressbar .bar .gutter span { + display: inline-block; + height: 100%; + background-color: #bbb; + border-radius: 3px; +} +.asciinema-player .control-bar .fullscreen-button { + display: block; + float: right; + width: 14px; + height: 14px; + padding: 9px; + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button svg { + width: 14px; + height: 14px; +} +.asciinema-player .loading { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.5); +} +.asciinema-player .start-prompt { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 20; + cursor: pointer; +} +.asciinema-player .start-prompt .play-button { + font-size: 0px; +} +.asciinema-player .start-prompt .play-button { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + text-align: center; + color: white; + display: table; + width: 100%; + height: 100%; +} +.asciinema-player .start-prompt .play-button div { + vertical-align: middle; + display: table-cell; +} +.asciinema-player .start-prompt .play-button div span { + width: 96px; + height: 96px; + display: inline-block; +} +@-webkit-keyframes expand { + 0% { + -webkit-transform: scale(0); + } + 50% { + -webkit-transform: scale(1); + } + 100% { + z-index: 1; + } +} +@-moz-keyframes expand { + 0% { + -moz-transform: scale(0); + } + 50% { + -moz-transform: scale(1); + } + 100% { + z-index: 1; + } +} +@-o-keyframes expand { + 0% { + -o-transform: scale(0); + } + 50% { + -o-transform: scale(1); + } + 100% { + z-index: 1; + } +} +@keyframes expand { + 0% { + transform: scale(0); + } + 50% { + transform: scale(1); + } + 100% { + z-index: 1; + } +} +.loader { + position: absolute; + left: 50%; + top: 50%; + margin: -20px 0 0 -20px; + background-color: white; + border-radius: 50%; + box-shadow: 0 0 0 6.66667px #141414; + width: 40px; + height: 40px; +} +.loader:before, +.loader:after { + content: ''; + position: absolute; + left: 50%; + top: 50%; + display: block; + margin: -21px 0 0 -21px; + border-radius: 50%; + z-index: 2; + width: 42px; + height: 42px; +} +.loader:before { + background-color: #141414; + -webkit-animation: expand 1.6s linear infinite both; + -moz-animation: expand 1.6s linear infinite both; + animation: expand 1.6s linear infinite both; +} +.loader:after { + background-color: white; + -webkit-animation: expand 1.6s linear 0.8s infinite both; + -moz-animation: expand 1.6s linear 0.8s infinite both; + animation: expand 1.6s linear 0.8s infinite both; +} +.asciinema-terminal .fg-16 { + color: #000000; +} +.asciinema-terminal .bg-16 { + background-color: #000000; +} +.asciinema-terminal .fg-17 { + color: #00005f; +} +.asciinema-terminal .bg-17 { + background-color: #00005f; +} +.asciinema-terminal .fg-18 { + color: #000087; +} +.asciinema-terminal .bg-18 { + background-color: #000087; +} +.asciinema-terminal .fg-19 { + color: #0000af; +} +.asciinema-terminal .bg-19 { + background-color: #0000af; +} +.asciinema-terminal .fg-20 { + color: #0000d7; +} +.asciinema-terminal .bg-20 { + background-color: #0000d7; +} +.asciinema-terminal .fg-21 { + color: #0000ff; +} +.asciinema-terminal .bg-21 { + background-color: #0000ff; +} +.asciinema-terminal .fg-22 { + color: #005f00; +} +.asciinema-terminal .bg-22 { + background-color: #005f00; +} +.asciinema-terminal .fg-23 { + color: #005f5f; +} +.asciinema-terminal .bg-23 { + background-color: #005f5f; +} +.asciinema-terminal .fg-24 { + color: #005f87; +} +.asciinema-terminal .bg-24 { + background-color: #005f87; +} +.asciinema-terminal .fg-25 { + color: #005faf; +} +.asciinema-terminal .bg-25 { + background-color: #005faf; +} +.asciinema-terminal .fg-26 { + color: #005fd7; +} +.asciinema-terminal .bg-26 { + background-color: #005fd7; +} +.asciinema-terminal .fg-27 { + color: #005fff; +} +.asciinema-terminal .bg-27 { + background-color: #005fff; +} +.asciinema-terminal .fg-28 { + color: #008700; +} +.asciinema-terminal .bg-28 { + background-color: #008700; +} +.asciinema-terminal .fg-29 { + color: #00875f; +} +.asciinema-terminal .bg-29 { + background-color: #00875f; +} +.asciinema-terminal .fg-30 { + color: #008787; +} +.asciinema-terminal .bg-30 { + background-color: #008787; +} +.asciinema-terminal .fg-31 { + color: #0087af; +} +.asciinema-terminal .bg-31 { + background-color: #0087af; +} +.asciinema-terminal .fg-32 { + color: #0087d7; +} +.asciinema-terminal .bg-32 { + background-color: #0087d7; +} +.asciinema-terminal .fg-33 { + color: #0087ff; +} +.asciinema-terminal .bg-33 { + background-color: #0087ff; +} +.asciinema-terminal .fg-34 { + color: #00af00; +} +.asciinema-terminal .bg-34 { + background-color: #00af00; +} +.asciinema-terminal .fg-35 { + color: #00af5f; +} +.asciinema-terminal .bg-35 { + background-color: #00af5f; +} +.asciinema-terminal .fg-36 { + color: #00af87; +} +.asciinema-terminal .bg-36 { + background-color: #00af87; +} +.asciinema-terminal .fg-37 { + color: #00afaf; +} +.asciinema-terminal .bg-37 { + background-color: #00afaf; +} +.asciinema-terminal .fg-38 { + color: #00afd7; +} +.asciinema-terminal .bg-38 { + background-color: #00afd7; +} +.asciinema-terminal .fg-39 { + color: #00afff; +} +.asciinema-terminal .bg-39 { + background-color: #00afff; +} +.asciinema-terminal .fg-40 { + color: #00d700; +} +.asciinema-terminal .bg-40 { + background-color: #00d700; +} +.asciinema-terminal .fg-41 { + color: #00d75f; +} +.asciinema-terminal .bg-41 { + background-color: #00d75f; +} +.asciinema-terminal .fg-42 { + color: #00d787; +} +.asciinema-terminal .bg-42 { + background-color: #00d787; +} +.asciinema-terminal .fg-43 { + color: #00d7af; +} +.asciinema-terminal .bg-43 { + background-color: #00d7af; +} +.asciinema-terminal .fg-44 { + color: #00d7d7; +} +.asciinema-terminal .bg-44 { + background-color: #00d7d7; +} +.asciinema-terminal .fg-45 { + color: #00d7ff; +} +.asciinema-terminal .bg-45 { + background-color: #00d7ff; +} +.asciinema-terminal .fg-46 { + color: #00ff00; +} +.asciinema-terminal .bg-46 { + background-color: #00ff00; +} +.asciinema-terminal .fg-47 { + color: #00ff5f; +} +.asciinema-terminal .bg-47 { + background-color: #00ff5f; +} +.asciinema-terminal .fg-48 { + color: #00ff87; +} +.asciinema-terminal .bg-48 { + background-color: #00ff87; +} +.asciinema-terminal .fg-49 { + color: #00ffaf; +} +.asciinema-terminal .bg-49 { + background-color: #00ffaf; +} +.asciinema-terminal .fg-50 { + color: #00ffd7; +} +.asciinema-terminal .bg-50 { + background-color: #00ffd7; +} +.asciinema-terminal .fg-51 { + color: #00ffff; +} +.asciinema-terminal .bg-51 { + background-color: #00ffff; +} +.asciinema-terminal .fg-52 { + color: #5f0000; +} +.asciinema-terminal .bg-52 { + background-color: #5f0000; +} +.asciinema-terminal .fg-53 { + color: #5f005f; +} +.asciinema-terminal .bg-53 { + background-color: #5f005f; +} +.asciinema-terminal .fg-54 { + color: #5f0087; +} +.asciinema-terminal .bg-54 { + background-color: #5f0087; +} +.asciinema-terminal .fg-55 { + color: #5f00af; +} +.asciinema-terminal .bg-55 { + background-color: #5f00af; +} +.asciinema-terminal .fg-56 { + color: #5f00d7; +} +.asciinema-terminal .bg-56 { + background-color: #5f00d7; +} +.asciinema-terminal .fg-57 { + color: #5f00ff; +} +.asciinema-terminal .bg-57 { + background-color: #5f00ff; +} +.asciinema-terminal .fg-58 { + color: #5f5f00; +} +.asciinema-terminal .bg-58 { + background-color: #5f5f00; +} +.asciinema-terminal .fg-59 { + color: #5f5f5f; +} +.asciinema-terminal .bg-59 { + background-color: #5f5f5f; +} +.asciinema-terminal .fg-60 { + color: #5f5f87; +} +.asciinema-terminal .bg-60 { + background-color: #5f5f87; +} +.asciinema-terminal .fg-61 { + color: #5f5faf; +} +.asciinema-terminal .bg-61 { + background-color: #5f5faf; +} +.asciinema-terminal .fg-62 { + color: #5f5fd7; +} +.asciinema-terminal .bg-62 { + background-color: #5f5fd7; +} +.asciinema-terminal .fg-63 { + color: #5f5fff; +} +.asciinema-terminal .bg-63 { + background-color: #5f5fff; +} +.asciinema-terminal .fg-64 { + color: #5f8700; +} +.asciinema-terminal .bg-64 { + background-color: #5f8700; +} +.asciinema-terminal .fg-65 { + color: #5f875f; +} +.asciinema-terminal .bg-65 { + background-color: #5f875f; +} +.asciinema-terminal .fg-66 { + color: #5f8787; +} +.asciinema-terminal .bg-66 { + background-color: #5f8787; +} +.asciinema-terminal .fg-67 { + color: #5f87af; +} +.asciinema-terminal .bg-67 { + background-color: #5f87af; +} +.asciinema-terminal .fg-68 { + color: #5f87d7; +} +.asciinema-terminal .bg-68 { + background-color: #5f87d7; +} +.asciinema-terminal .fg-69 { + color: #5f87ff; +} +.asciinema-terminal .bg-69 { + background-color: #5f87ff; +} +.asciinema-terminal .fg-70 { + color: #5faf00; +} +.asciinema-terminal .bg-70 { + background-color: #5faf00; +} +.asciinema-terminal .fg-71 { + color: #5faf5f; +} +.asciinema-terminal .bg-71 { + background-color: #5faf5f; +} +.asciinema-terminal .fg-72 { + color: #5faf87; +} +.asciinema-terminal .bg-72 { + background-color: #5faf87; +} +.asciinema-terminal .fg-73 { + color: #5fafaf; +} +.asciinema-terminal .bg-73 { + background-color: #5fafaf; +} +.asciinema-terminal .fg-74 { + color: #5fafd7; +} +.asciinema-terminal .bg-74 { + background-color: #5fafd7; +} +.asciinema-terminal .fg-75 { + color: #5fafff; +} +.asciinema-terminal .bg-75 { + background-color: #5fafff; +} +.asciinema-terminal .fg-76 { + color: #5fd700; +} +.asciinema-terminal .bg-76 { + background-color: #5fd700; +} +.asciinema-terminal .fg-77 { + color: #5fd75f; +} +.asciinema-terminal .bg-77 { + background-color: #5fd75f; +} +.asciinema-terminal .fg-78 { + color: #5fd787; +} +.asciinema-terminal .bg-78 { + background-color: #5fd787; +} +.asciinema-terminal .fg-79 { + color: #5fd7af; +} +.asciinema-terminal .bg-79 { + background-color: #5fd7af; +} +.asciinema-terminal .fg-80 { + color: #5fd7d7; +} +.asciinema-terminal .bg-80 { + background-color: #5fd7d7; +} +.asciinema-terminal .fg-81 { + color: #5fd7ff; +} +.asciinema-terminal .bg-81 { + background-color: #5fd7ff; +} +.asciinema-terminal .fg-82 { + color: #5fff00; +} +.asciinema-terminal .bg-82 { + background-color: #5fff00; +} +.asciinema-terminal .fg-83 { + color: #5fff5f; +} +.asciinema-terminal .bg-83 { + background-color: #5fff5f; +} +.asciinema-terminal .fg-84 { + color: #5fff87; +} +.asciinema-terminal .bg-84 { + background-color: #5fff87; +} +.asciinema-terminal .fg-85 { + color: #5fffaf; +} +.asciinema-terminal .bg-85 { + background-color: #5fffaf; +} +.asciinema-terminal .fg-86 { + color: #5fffd7; +} +.asciinema-terminal .bg-86 { + background-color: #5fffd7; +} +.asciinema-terminal .fg-87 { + color: #5fffff; +} +.asciinema-terminal .bg-87 { + background-color: #5fffff; +} +.asciinema-terminal .fg-88 { + color: #870000; +} +.asciinema-terminal .bg-88 { + background-color: #870000; +} +.asciinema-terminal .fg-89 { + color: #87005f; +} +.asciinema-terminal .bg-89 { + background-color: #87005f; +} +.asciinema-terminal .fg-90 { + color: #870087; +} +.asciinema-terminal .bg-90 { + background-color: #870087; +} +.asciinema-terminal .fg-91 { + color: #8700af; +} +.asciinema-terminal .bg-91 { + background-color: #8700af; +} +.asciinema-terminal .fg-92 { + color: #8700d7; +} +.asciinema-terminal .bg-92 { + background-color: #8700d7; +} +.asciinema-terminal .fg-93 { + color: #8700ff; +} +.asciinema-terminal .bg-93 { + background-color: #8700ff; +} +.asciinema-terminal .fg-94 { + color: #875f00; +} +.asciinema-terminal .bg-94 { + background-color: #875f00; +} +.asciinema-terminal .fg-95 { + color: #875f5f; +} +.asciinema-terminal .bg-95 { + background-color: #875f5f; +} +.asciinema-terminal .fg-96 { + color: #875f87; +} +.asciinema-terminal .bg-96 { + background-color: #875f87; +} +.asciinema-terminal .fg-97 { + color: #875faf; +} +.asciinema-terminal .bg-97 { + background-color: #875faf; +} +.asciinema-terminal .fg-98 { + color: #875fd7; +} +.asciinema-terminal .bg-98 { + background-color: #875fd7; +} +.asciinema-terminal .fg-99 { + color: #875fff; +} +.asciinema-terminal .bg-99 { + background-color: #875fff; +} +.asciinema-terminal .fg-100 { + color: #878700; +} +.asciinema-terminal .bg-100 { + background-color: #878700; +} +.asciinema-terminal .fg-101 { + color: #87875f; +} +.asciinema-terminal .bg-101 { + background-color: #87875f; +} +.asciinema-terminal .fg-102 { + color: #878787; +} +.asciinema-terminal .bg-102 { + background-color: #878787; +} +.asciinema-terminal .fg-103 { + color: #8787af; +} +.asciinema-terminal .bg-103 { + background-color: #8787af; +} +.asciinema-terminal .fg-104 { + color: #8787d7; +} +.asciinema-terminal .bg-104 { + background-color: #8787d7; +} +.asciinema-terminal .fg-105 { + color: #8787ff; +} +.asciinema-terminal .bg-105 { + background-color: #8787ff; +} +.asciinema-terminal .fg-106 { + color: #87af00; +} +.asciinema-terminal .bg-106 { + background-color: #87af00; +} +.asciinema-terminal .fg-107 { + color: #87af5f; +} +.asciinema-terminal .bg-107 { + background-color: #87af5f; +} +.asciinema-terminal .fg-108 { + color: #87af87; +} +.asciinema-terminal .bg-108 { + background-color: #87af87; +} +.asciinema-terminal .fg-109 { + color: #87afaf; +} +.asciinema-terminal .bg-109 { + background-color: #87afaf; +} +.asciinema-terminal .fg-110 { + color: #87afd7; +} +.asciinema-terminal .bg-110 { + background-color: #87afd7; +} +.asciinema-terminal .fg-111 { + color: #87afff; +} +.asciinema-terminal .bg-111 { + background-color: #87afff; +} +.asciinema-terminal .fg-112 { + color: #87d700; +} +.asciinema-terminal .bg-112 { + background-color: #87d700; +} +.asciinema-terminal .fg-113 { + color: #87d75f; +} +.asciinema-terminal .bg-113 { + background-color: #87d75f; +} +.asciinema-terminal .fg-114 { + color: #87d787; +} +.asciinema-terminal .bg-114 { + background-color: #87d787; +} +.asciinema-terminal .fg-115 { + color: #87d7af; +} +.asciinema-terminal .bg-115 { + background-color: #87d7af; +} +.asciinema-terminal .fg-116 { + color: #87d7d7; +} +.asciinema-terminal .bg-116 { + background-color: #87d7d7; +} +.asciinema-terminal .fg-117 { + color: #87d7ff; +} +.asciinema-terminal .bg-117 { + background-color: #87d7ff; +} +.asciinema-terminal .fg-118 { + color: #87ff00; +} +.asciinema-terminal .bg-118 { + background-color: #87ff00; +} +.asciinema-terminal .fg-119 { + color: #87ff5f; +} +.asciinema-terminal .bg-119 { + background-color: #87ff5f; +} +.asciinema-terminal .fg-120 { + color: #87ff87; +} +.asciinema-terminal .bg-120 { + background-color: #87ff87; +} +.asciinema-terminal .fg-121 { + color: #87ffaf; +} +.asciinema-terminal .bg-121 { + background-color: #87ffaf; +} +.asciinema-terminal .fg-122 { + color: #87ffd7; +} +.asciinema-terminal .bg-122 { + background-color: #87ffd7; +} +.asciinema-terminal .fg-123 { + color: #87ffff; +} +.asciinema-terminal .bg-123 { + background-color: #87ffff; +} +.asciinema-terminal .fg-124 { + color: #af0000; +} +.asciinema-terminal .bg-124 { + background-color: #af0000; +} +.asciinema-terminal .fg-125 { + color: #af005f; +} +.asciinema-terminal .bg-125 { + background-color: #af005f; +} +.asciinema-terminal .fg-126 { + color: #af0087; +} +.asciinema-terminal .bg-126 { + background-color: #af0087; +} +.asciinema-terminal .fg-127 { + color: #af00af; +} +.asciinema-terminal .bg-127 { + background-color: #af00af; +} +.asciinema-terminal .fg-128 { + color: #af00d7; +} +.asciinema-terminal .bg-128 { + background-color: #af00d7; +} +.asciinema-terminal .fg-129 { + color: #af00ff; +} +.asciinema-terminal .bg-129 { + background-color: #af00ff; +} +.asciinema-terminal .fg-130 { + color: #af5f00; +} +.asciinema-terminal .bg-130 { + background-color: #af5f00; +} +.asciinema-terminal .fg-131 { + color: #af5f5f; +} +.asciinema-terminal .bg-131 { + background-color: #af5f5f; +} +.asciinema-terminal .fg-132 { + color: #af5f87; +} +.asciinema-terminal .bg-132 { + background-color: #af5f87; +} +.asciinema-terminal .fg-133 { + color: #af5faf; +} +.asciinema-terminal .bg-133 { + background-color: #af5faf; +} +.asciinema-terminal .fg-134 { + color: #af5fd7; +} +.asciinema-terminal .bg-134 { + background-color: #af5fd7; +} +.asciinema-terminal .fg-135 { + color: #af5fff; +} +.asciinema-terminal .bg-135 { + background-color: #af5fff; +} +.asciinema-terminal .fg-136 { + color: #af8700; +} +.asciinema-terminal .bg-136 { + background-color: #af8700; +} +.asciinema-terminal .fg-137 { + color: #af875f; +} +.asciinema-terminal .bg-137 { + background-color: #af875f; +} +.asciinema-terminal .fg-138 { + color: #af8787; +} +.asciinema-terminal .bg-138 { + background-color: #af8787; +} +.asciinema-terminal .fg-139 { + color: #af87af; +} +.asciinema-terminal .bg-139 { + background-color: #af87af; +} +.asciinema-terminal .fg-140 { + color: #af87d7; +} +.asciinema-terminal .bg-140 { + background-color: #af87d7; +} +.asciinema-terminal .fg-141 { + color: #af87ff; +} +.asciinema-terminal .bg-141 { + background-color: #af87ff; +} +.asciinema-terminal .fg-142 { + color: #afaf00; +} +.asciinema-terminal .bg-142 { + background-color: #afaf00; +} +.asciinema-terminal .fg-143 { + color: #afaf5f; +} +.asciinema-terminal .bg-143 { + background-color: #afaf5f; +} +.asciinema-terminal .fg-144 { + color: #afaf87; +} +.asciinema-terminal .bg-144 { + background-color: #afaf87; +} +.asciinema-terminal .fg-145 { + color: #afafaf; +} +.asciinema-terminal .bg-145 { + background-color: #afafaf; +} +.asciinema-terminal .fg-146 { + color: #afafd7; +} +.asciinema-terminal .bg-146 { + background-color: #afafd7; +} +.asciinema-terminal .fg-147 { + color: #afafff; +} +.asciinema-terminal .bg-147 { + background-color: #afafff; +} +.asciinema-terminal .fg-148 { + color: #afd700; +} +.asciinema-terminal .bg-148 { + background-color: #afd700; +} +.asciinema-terminal .fg-149 { + color: #afd75f; +} +.asciinema-terminal .bg-149 { + background-color: #afd75f; +} +.asciinema-terminal .fg-150 { + color: #afd787; +} +.asciinema-terminal .bg-150 { + background-color: #afd787; +} +.asciinema-terminal .fg-151 { + color: #afd7af; +} +.asciinema-terminal .bg-151 { + background-color: #afd7af; +} +.asciinema-terminal .fg-152 { + color: #afd7d7; +} +.asciinema-terminal .bg-152 { + background-color: #afd7d7; +} +.asciinema-terminal .fg-153 { + color: #afd7ff; +} +.asciinema-terminal .bg-153 { + background-color: #afd7ff; +} +.asciinema-terminal .fg-154 { + color: #afff00; +} +.asciinema-terminal .bg-154 { + background-color: #afff00; +} +.asciinema-terminal .fg-155 { + color: #afff5f; +} +.asciinema-terminal .bg-155 { + background-color: #afff5f; +} +.asciinema-terminal .fg-156 { + color: #afff87; +} +.asciinema-terminal .bg-156 { + background-color: #afff87; +} +.asciinema-terminal .fg-157 { + color: #afffaf; +} +.asciinema-terminal .bg-157 { + background-color: #afffaf; +} +.asciinema-terminal .fg-158 { + color: #afffd7; +} +.asciinema-terminal .bg-158 { + background-color: #afffd7; +} +.asciinema-terminal .fg-159 { + color: #afffff; +} +.asciinema-terminal .bg-159 { + background-color: #afffff; +} +.asciinema-terminal .fg-160 { + color: #d70000; +} +.asciinema-terminal .bg-160 { + background-color: #d70000; +} +.asciinema-terminal .fg-161 { + color: #d7005f; +} +.asciinema-terminal .bg-161 { + background-color: #d7005f; +} +.asciinema-terminal .fg-162 { + color: #d70087; +} +.asciinema-terminal .bg-162 { + background-color: #d70087; +} +.asciinema-terminal .fg-163 { + color: #d700af; +} +.asciinema-terminal .bg-163 { + background-color: #d700af; +} +.asciinema-terminal .fg-164 { + color: #d700d7; +} +.asciinema-terminal .bg-164 { + background-color: #d700d7; +} +.asciinema-terminal .fg-165 { + color: #d700ff; +} +.asciinema-terminal .bg-165 { + background-color: #d700ff; +} +.asciinema-terminal .fg-166 { + color: #d75f00; +} +.asciinema-terminal .bg-166 { + background-color: #d75f00; +} +.asciinema-terminal .fg-167 { + color: #d75f5f; +} +.asciinema-terminal .bg-167 { + background-color: #d75f5f; +} +.asciinema-terminal .fg-168 { + color: #d75f87; +} +.asciinema-terminal .bg-168 { + background-color: #d75f87; +} +.asciinema-terminal .fg-169 { + color: #d75faf; +} +.asciinema-terminal .bg-169 { + background-color: #d75faf; +} +.asciinema-terminal .fg-170 { + color: #d75fd7; +} +.asciinema-terminal .bg-170 { + background-color: #d75fd7; +} +.asciinema-terminal .fg-171 { + color: #d75fff; +} +.asciinema-terminal .bg-171 { + background-color: #d75fff; +} +.asciinema-terminal .fg-172 { + color: #d78700; +} +.asciinema-terminal .bg-172 { + background-color: #d78700; +} +.asciinema-terminal .fg-173 { + color: #d7875f; +} +.asciinema-terminal .bg-173 { + background-color: #d7875f; +} +.asciinema-terminal .fg-174 { + color: #d78787; +} +.asciinema-terminal .bg-174 { + background-color: #d78787; +} +.asciinema-terminal .fg-175 { + color: #d787af; +} +.asciinema-terminal .bg-175 { + background-color: #d787af; +} +.asciinema-terminal .fg-176 { + color: #d787d7; +} +.asciinema-terminal .bg-176 { + background-color: #d787d7; +} +.asciinema-terminal .fg-177 { + color: #d787ff; +} +.asciinema-terminal .bg-177 { + background-color: #d787ff; +} +.asciinema-terminal .fg-178 { + color: #d7af00; +} +.asciinema-terminal .bg-178 { + background-color: #d7af00; +} +.asciinema-terminal .fg-179 { + color: #d7af5f; +} +.asciinema-terminal .bg-179 { + background-color: #d7af5f; +} +.asciinema-terminal .fg-180 { + color: #d7af87; +} +.asciinema-terminal .bg-180 { + background-color: #d7af87; +} +.asciinema-terminal .fg-181 { + color: #d7afaf; +} +.asciinema-terminal .bg-181 { + background-color: #d7afaf; +} +.asciinema-terminal .fg-182 { + color: #d7afd7; +} +.asciinema-terminal .bg-182 { + background-color: #d7afd7; +} +.asciinema-terminal .fg-183 { + color: #d7afff; +} +.asciinema-terminal .bg-183 { + background-color: #d7afff; +} +.asciinema-terminal .fg-184 { + color: #d7d700; +} +.asciinema-terminal .bg-184 { + background-color: #d7d700; +} +.asciinema-terminal .fg-185 { + color: #d7d75f; +} +.asciinema-terminal .bg-185 { + background-color: #d7d75f; +} +.asciinema-terminal .fg-186 { + color: #d7d787; +} +.asciinema-terminal .bg-186 { + background-color: #d7d787; +} +.asciinema-terminal .fg-187 { + color: #d7d7af; +} +.asciinema-terminal .bg-187 { + background-color: #d7d7af; +} +.asciinema-terminal .fg-188 { + color: #d7d7d7; +} +.asciinema-terminal .bg-188 { + background-color: #d7d7d7; +} +.asciinema-terminal .fg-189 { + color: #d7d7ff; +} +.asciinema-terminal .bg-189 { + background-color: #d7d7ff; +} +.asciinema-terminal .fg-190 { + color: #d7ff00; +} +.asciinema-terminal .bg-190 { + background-color: #d7ff00; +} +.asciinema-terminal .fg-191 { + color: #d7ff5f; +} +.asciinema-terminal .bg-191 { + background-color: #d7ff5f; +} +.asciinema-terminal .fg-192 { + color: #d7ff87; +} +.asciinema-terminal .bg-192 { + background-color: #d7ff87; +} +.asciinema-terminal .fg-193 { + color: #d7ffaf; +} +.asciinema-terminal .bg-193 { + background-color: #d7ffaf; +} +.asciinema-terminal .fg-194 { + color: #d7ffd7; +} +.asciinema-terminal .bg-194 { + background-color: #d7ffd7; +} +.asciinema-terminal .fg-195 { + color: #d7ffff; +} +.asciinema-terminal .bg-195 { + background-color: #d7ffff; +} +.asciinema-terminal .fg-196 { + color: #ff0000; +} +.asciinema-terminal .bg-196 { + background-color: #ff0000; +} +.asciinema-terminal .fg-197 { + color: #ff005f; +} +.asciinema-terminal .bg-197 { + background-color: #ff005f; +} +.asciinema-terminal .fg-198 { + color: #ff0087; +} +.asciinema-terminal .bg-198 { + background-color: #ff0087; +} +.asciinema-terminal .fg-199 { + color: #ff00af; +} +.asciinema-terminal .bg-199 { + background-color: #ff00af; +} +.asciinema-terminal .fg-200 { + color: #ff00d7; +} +.asciinema-terminal .bg-200 { + background-color: #ff00d7; +} +.asciinema-terminal .fg-201 { + color: #ff00ff; +} +.asciinema-terminal .bg-201 { + background-color: #ff00ff; +} +.asciinema-terminal .fg-202 { + color: #ff5f00; +} +.asciinema-terminal .bg-202 { + background-color: #ff5f00; +} +.asciinema-terminal .fg-203 { + color: #ff5f5f; +} +.asciinema-terminal .bg-203 { + background-color: #ff5f5f; +} +.asciinema-terminal .fg-204 { + color: #ff5f87; +} +.asciinema-terminal .bg-204 { + background-color: #ff5f87; +} +.asciinema-terminal .fg-205 { + color: #ff5faf; +} +.asciinema-terminal .bg-205 { + background-color: #ff5faf; +} +.asciinema-terminal .fg-206 { + color: #ff5fd7; +} +.asciinema-terminal .bg-206 { + background-color: #ff5fd7; +} +.asciinema-terminal .fg-207 { + color: #ff5fff; +} +.asciinema-terminal .bg-207 { + background-color: #ff5fff; +} +.asciinema-terminal .fg-208 { + color: #ff8700; +} +.asciinema-terminal .bg-208 { + background-color: #ff8700; +} +.asciinema-terminal .fg-209 { + color: #ff875f; +} +.asciinema-terminal .bg-209 { + background-color: #ff875f; +} +.asciinema-terminal .fg-210 { + color: #ff8787; +} +.asciinema-terminal .bg-210 { + background-color: #ff8787; +} +.asciinema-terminal .fg-211 { + color: #ff87af; +} +.asciinema-terminal .bg-211 { + background-color: #ff87af; +} +.asciinema-terminal .fg-212 { + color: #ff87d7; +} +.asciinema-terminal .bg-212 { + background-color: #ff87d7; +} +.asciinema-terminal .fg-213 { + color: #ff87ff; +} +.asciinema-terminal .bg-213 { + background-color: #ff87ff; +} +.asciinema-terminal .fg-214 { + color: #ffaf00; +} +.asciinema-terminal .bg-214 { + background-color: #ffaf00; +} +.asciinema-terminal .fg-215 { + color: #ffaf5f; +} +.asciinema-terminal .bg-215 { + background-color: #ffaf5f; +} +.asciinema-terminal .fg-216 { + color: #ffaf87; +} +.asciinema-terminal .bg-216 { + background-color: #ffaf87; +} +.asciinema-terminal .fg-217 { + color: #ffafaf; +} +.asciinema-terminal .bg-217 { + background-color: #ffafaf; +} +.asciinema-terminal .fg-218 { + color: #ffafd7; +} +.asciinema-terminal .bg-218 { + background-color: #ffafd7; +} +.asciinema-terminal .fg-219 { + color: #ffafff; +} +.asciinema-terminal .bg-219 { + background-color: #ffafff; +} +.asciinema-terminal .fg-220 { + color: #ffd700; +} +.asciinema-terminal .bg-220 { + background-color: #ffd700; +} +.asciinema-terminal .fg-221 { + color: #ffd75f; +} +.asciinema-terminal .bg-221 { + background-color: #ffd75f; +} +.asciinema-terminal .fg-222 { + color: #ffd787; +} +.asciinema-terminal .bg-222 { + background-color: #ffd787; +} +.asciinema-terminal .fg-223 { + color: #ffd7af; +} +.asciinema-terminal .bg-223 { + background-color: #ffd7af; +} +.asciinema-terminal .fg-224 { + color: #ffd7d7; +} +.asciinema-terminal .bg-224 { + background-color: #ffd7d7; +} +.asciinema-terminal .fg-225 { + color: #ffd7ff; +} +.asciinema-terminal .bg-225 { + background-color: #ffd7ff; +} +.asciinema-terminal .fg-226 { + color: #ffff00; +} +.asciinema-terminal .bg-226 { + background-color: #ffff00; +} +.asciinema-terminal .fg-227 { + color: #ffff5f; +} +.asciinema-terminal .bg-227 { + background-color: #ffff5f; +} +.asciinema-terminal .fg-228 { + color: #ffff87; +} +.asciinema-terminal .bg-228 { + background-color: #ffff87; +} +.asciinema-terminal .fg-229 { + color: #ffffaf; +} +.asciinema-terminal .bg-229 { + background-color: #ffffaf; +} +.asciinema-terminal .fg-230 { + color: #ffffd7; +} +.asciinema-terminal .bg-230 { + background-color: #ffffd7; +} +.asciinema-terminal .fg-231 { + color: #ffffff; +} +.asciinema-terminal .bg-231 { + background-color: #ffffff; +} +.asciinema-terminal .fg-232 { + color: #080808; +} +.asciinema-terminal .bg-232 { + background-color: #080808; +} +.asciinema-terminal .fg-233 { + color: #121212; +} +.asciinema-terminal .bg-233 { + background-color: #121212; +} +.asciinema-terminal .fg-234 { + color: #1c1c1c; +} +.asciinema-terminal .bg-234 { + background-color: #1c1c1c; +} +.asciinema-terminal .fg-235 { + color: #262626; +} +.asciinema-terminal .bg-235 { + background-color: #262626; +} +.asciinema-terminal .fg-236 { + color: #303030; +} +.asciinema-terminal .bg-236 { + background-color: #303030; +} +.asciinema-terminal .fg-237 { + color: #3a3a3a; +} +.asciinema-terminal .bg-237 { + background-color: #3a3a3a; +} +.asciinema-terminal .fg-238 { + color: #444444; +} +.asciinema-terminal .bg-238 { + background-color: #444444; +} +.asciinema-terminal .fg-239 { + color: #4e4e4e; +} +.asciinema-terminal .bg-239 { + background-color: #4e4e4e; +} +.asciinema-terminal .fg-240 { + color: #585858; +} +.asciinema-terminal .bg-240 { + background-color: #585858; +} +.asciinema-terminal .fg-241 { + color: #626262; +} +.asciinema-terminal .bg-241 { + background-color: #626262; +} +.asciinema-terminal .fg-242 { + color: #6c6c6c; +} +.asciinema-terminal .bg-242 { + background-color: #6c6c6c; +} +.asciinema-terminal .fg-243 { + color: #767676; +} +.asciinema-terminal .bg-243 { + background-color: #767676; +} +.asciinema-terminal .fg-244 { + color: #808080; +} +.asciinema-terminal .bg-244 { + background-color: #808080; +} +.asciinema-terminal .fg-245 { + color: #8a8a8a; +} +.asciinema-terminal .bg-245 { + background-color: #8a8a8a; +} +.asciinema-terminal .fg-246 { + color: #949494; +} +.asciinema-terminal .bg-246 { + background-color: #949494; +} +.asciinema-terminal .fg-247 { + color: #9e9e9e; +} +.asciinema-terminal .bg-247 { + background-color: #9e9e9e; +} +.asciinema-terminal .fg-248 { + color: #a8a8a8; +} +.asciinema-terminal .bg-248 { + background-color: #a8a8a8; +} +.asciinema-terminal .fg-249 { + color: #b2b2b2; +} +.asciinema-terminal .bg-249 { + background-color: #b2b2b2; +} +.asciinema-terminal .fg-250 { + color: #bcbcbc; +} +.asciinema-terminal .bg-250 { + background-color: #bcbcbc; +} +.asciinema-terminal .fg-251 { + color: #c6c6c6; +} +.asciinema-terminal .bg-251 { + background-color: #c6c6c6; +} +.asciinema-terminal .fg-252 { + color: #d0d0d0; +} +.asciinema-terminal .bg-252 { + background-color: #d0d0d0; +} +.asciinema-terminal .fg-253 { + color: #dadada; +} +.asciinema-terminal .bg-253 { + background-color: #dadada; +} +.asciinema-terminal .fg-254 { + color: #e4e4e4; +} +.asciinema-terminal .bg-254 { + background-color: #e4e4e4; +} +.asciinema-terminal .fg-255 { + color: #eeeeee; +} +.asciinema-terminal .bg-255 { + background-color: #eeeeee; +} +.asciinema-theme-tango .asciinema-terminal { + color: #cccccc; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-tango .fg-bg { + color: #121314; +} +.asciinema-theme-tango .bg-fg { + background-color: #cccccc; +} +.asciinema-theme-tango .fg-0 { + color: #000; +} +.asciinema-theme-tango .bg-0 { + background-color: #000; +} +.asciinema-theme-tango .fg-1 { + color: #c00; +} +.asciinema-theme-tango .bg-1 { + background-color: #c00; +} +.asciinema-theme-tango .fg-2 { + color: #4e9a06; +} +.asciinema-theme-tango .bg-2 { + background-color: #4e9a06; +} +.asciinema-theme-tango .fg-3 { + color: #c4a000; +} +.asciinema-theme-tango .bg-3 { + background-color: #c4a000; +} +.asciinema-theme-tango .fg-4 { + color: #3465a4; +} +.asciinema-theme-tango .bg-4 { + background-color: #3465a4; +} +.asciinema-theme-tango .fg-5 { + color: #75507b; +} +.asciinema-theme-tango .bg-5 { + background-color: #75507b; +} +.asciinema-theme-tango .fg-6 { + color: #06989a; +} +.asciinema-theme-tango .bg-6 { + background-color: #06989a; +} +.asciinema-theme-tango .fg-7 { + color: #d3d7cf; +} +.asciinema-theme-tango .bg-7 { + background-color: #d3d7cf; +} +.asciinema-theme-tango .fg-8 { + color: #555753; + font-weight: bold; +} +.asciinema-theme-tango .bg-8 { + background-color: #555753; +} +.asciinema-theme-tango .fg-9 { + color: #ef2929; + font-weight: bold; +} +.asciinema-theme-tango .bg-9 { + background-color: #ef2929; +} +.asciinema-theme-tango .fg-10 { + color: #8ae234; + font-weight: bold; +} +.asciinema-theme-tango .bg-10 { + background-color: #8ae234; +} +.asciinema-theme-tango .fg-11 { + color: #fce94f; + font-weight: bold; +} +.asciinema-theme-tango .bg-11 { + background-color: #fce94f; +} +.asciinema-theme-tango .fg-12 { + color: #729fcf; + font-weight: bold; +} +.asciinema-theme-tango .bg-12 { + background-color: #729fcf; +} +.asciinema-theme-tango .fg-13 { + color: #ad7fa8; + font-weight: bold; +} +.asciinema-theme-tango .bg-13 { + background-color: #ad7fa8; +} +.asciinema-theme-tango .fg-14 { + color: #34e2e2; + font-weight: bold; +} +.asciinema-theme-tango .bg-14 { + background-color: #34e2e2; +} +.asciinema-theme-tango .fg-15 { + color: #eeeeec; + font-weight: bold; +} +.asciinema-theme-tango .bg-15 { + background-color: #eeeeec; +} +.asciinema-theme-solarized-dark .asciinema-terminal { + color: #839496; + background-color: #002b36; + border-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-bg { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-fg { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-dark .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-dark .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-dark .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-dark .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-dark .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-dark .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-dark .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-dark .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-dark .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-dark .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-dark .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-dark .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-dark .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-dark .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-dark .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-dark .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-dark .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-dark .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-dark .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-dark .fg-11 { + color: #657b83; +} +.asciinema-theme-solarized-dark .bg-11 { + background-color: #657b83; +} +.asciinema-theme-solarized-dark .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-dark .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-dark .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-dark .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-dark .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-dark .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-dark .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .asciinema-terminal { + color: #657b83; + background-color: #fdf6e3; + border-color: #fdf6e3; +} +.asciinema-theme-solarized-light .fg-bg { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-fg { + background-color: #657b83; +} +.asciinema-theme-solarized-light .fg-0 { + color: #eee8d5; +} +.asciinema-theme-solarized-light .bg-0 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-light .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-light .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-light .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-light .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-light .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-light .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-light .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-light .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-light .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-light .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-light .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-light .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-light .fg-7 { + color: #073642; +} +.asciinema-theme-solarized-light .bg-7 { + background-color: #073642; +} +.asciinema-theme-solarized-light .fg-8 { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-8 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-light .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-light .fg-10 { + color: #93a1a1; +} +.asciinema-theme-solarized-light .bg-10 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-light .fg-11 { + color: #839496; +} +.asciinema-theme-solarized-light .bg-11 { + background-color: #839496; +} +.asciinema-theme-solarized-light .fg-12 { + color: #657b83; +} +.asciinema-theme-solarized-light .bg-12 { + background-color: #657b83; +} +.asciinema-theme-solarized-light .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-light .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-light .fg-14 { + color: #586e75; +} +.asciinema-theme-solarized-light .bg-14 { + background-color: #586e75; +} +.asciinema-theme-solarized-light .fg-15 { + color: #002b36; +} +.asciinema-theme-solarized-light .bg-15 { + background-color: #002b36; +} +@font-face { + font-family: 'Powerline Symbols'; + src: local('Powerline Symbols'), local('PowerlineSymbols'), + url('/assets/PowerlineSymbols-e01f7994076eb666329fcf600fadb8bd.otf') + format('opentype'); +} +body.iframe { + background-color: transparent; + padding: 0; + margin: 0; +} +body.iframe .powered { + margin: 4px 0 0 0; + text-align: right; + font-size: 12px; + font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif; +} +body.iframe .powered a { + font-weight: 600; + color: #06989a; + text-decoration: none; +} +body.iframe .powered a:hover { + text-decoration: underline; +} diff --git a/src/.vuepress/public/blog/001-run-ipfs-on-docker/ascii/ascii.js b/src/.vuepress/public/blog/001-run-ipfs-on-docker/ascii/ascii.js new file mode 100644 index 00000000..f70f760b --- /dev/null +++ b/src/.vuepress/public/blog/001-run-ipfs-on-docker/ascii/ascii.js @@ -0,0 +1,8 @@ +function tryCreatePlayer(e,t,n){function r(){asciinema.CreatePlayer(e,t.width,t.height,t.stdout_frames_url,t.duration,{snapshot:t.snapshot,speed:n.speed,autoPlay:n.autoPlay,loop:n.loop,fontSize:n.fontSize,theme:n.theme})}function o(){$.get("/api/asciicasts/"+t.id+".json",function(e){t=e,i()})}function i(){t.stdout_frames_url?($(".processing-info").remove(),r()):($(".processing-info").show(),setTimeout(o,2e3))}i()}!function(e,t){function n(e){var t=e.length,n=lt.type(e);return lt.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e){var t=Tt[e]={};return lt.each(e.match(dt)||[],function(e,n){t[n]=!0}),t}function o(e,n,r,o){if(lt.acceptData(e)){var i,a,s=lt.expando,u=e.nodeType,c=u?lt.cache:e,l=u?e[s]:e[s]&&s;if(l&&c[l]&&(o||c[l].data)||r!==t||"string"!=typeof n)return l||(l=u?e[s]=tt.pop()||lt.guid++:s),c[l]||(c[l]=u?{}:{toJSON:lt.noop}),("object"==typeof n||"function"==typeof n)&&(o?c[l]=lt.extend(c[l],n):c[l].data=lt.extend(c[l].data,n)),a=c[l],o||(a.data||(a.data={}),a=a.data),r!==t&&(a[lt.camelCase(n)]=r),"string"==typeof n?(i=a[n],null==i&&(i=a[lt.camelCase(n)])):i=a,i}}function i(e,t,n){if(lt.acceptData(e)){var r,o,i=e.nodeType,a=i?lt.cache:e,u=i?e[lt.expando]:lt.expando;if(a[u]){if(t&&(r=n?a[u]:a[u].data)){lt.isArray(t)?t=t.concat(lt.map(t,lt.camelCase)):t in r?t=[t]:(t=lt.camelCase(t),t=t in r?[t]:t.split(" ")),o=t.length;for(;o--;)delete r[t[o]];if(n?!s(r):!lt.isEmptyObject(r))return}(n||(delete a[u].data,s(a[u])))&&(i?lt.cleanData([e],!0):lt.support.deleteExpando||a!=a.window?delete a[u]:a[u]=null)}}}function a(e,n,r){if(r===t&&1===e.nodeType){var o="data-"+n.replace(Dt,"-$1").toLowerCase();if(r=e.getAttribute(o),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:Rt.test(r)?lt.parseJSON(r):r}catch(i){}lt.data(e,n,r)}else r=t}return r}function s(e){var t;for(t in e)if(("data"!==t||!lt.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function u(){return!0}function c(){return!1}function l(){try{return G.activeElement}catch(e){}}function p(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function d(e,t,n){if(lt.isFunction(t))return lt.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return lt.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(qt.test(t))return lt.filter(t,e,n);t=lt.filter(t,e)}return lt.grep(e,function(e){return lt.inArray(e,t)>=0!==n})}function f(e){var t=Kt.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){return lt.nodeName(e,"table")&<.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function m(e){return e.type=(null!==lt.find.attr(e,"type"))+"/"+e.type,e}function g(e){var t=on.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function v(e,t){for(var n,r=0;null!=(n=e[r]);r++)lt._data(n,"globalEval",!t||lt._data(t[r],"globalEval"))}function y(e,t){if(1===t.nodeType&<.hasData(e)){var n,r,o,i=lt._data(e),a=lt._data(t,i),s=i.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,o=s[n].length;o>r;r++)lt.event.add(t,n,s[n][r])}a.data&&(a.data=lt.extend({},a.data))}}function C(e,t){var n,r,o;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!lt.support.noCloneEvent&&t[lt.expando]){o=lt._data(t);for(r in o.events)lt.removeEvent(t,r,o.handle);t.removeAttribute(lt.expando)}"script"===n&&t.text!==e.text?(m(t).text=e.text,g(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),lt.support.html5Clone&&e.innerHTML&&!lt.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&tn.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function b(e,n){var r,o,i=0,a=typeof e.getElementsByTagName!==$?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==$?e.querySelectorAll(n||"*"):t;if(!a)for(a=[],r=e.childNodes||e;null!=(o=r[i]);i++)!n||lt.nodeName(o,n)?a.push(o):lt.merge(a,b(o,n));return n===t||n&<.nodeName(e,n)?lt.merge([e],a):a}function x(e){tn.test(e.type)&&(e.defaultChecked=e.checked)}function w(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,o=Tn.length;o--;)if(t=Tn[o]+n,t in e)return t;return r}function M(e,t){return e=t||e,"none"===lt.css(e,"display")||!lt.contains(e.ownerDocument,e)}function E(e,t){for(var n,r,o,i=[],a=0,s=e.length;s>a;a++)r=e[a],r.style&&(i[a]=lt._data(r,"olddisplay"),n=r.style.display,t?(i[a]||"none"!==n||(r.style.display=""),""===r.style.display&&M(r)&&(i[a]=lt._data(r,"olddisplay",N(r.nodeName)))):i[a]||(o=M(r),(n&&"none"!==n||!o)&<._data(r,"olddisplay",o?n:lt.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?i[a]||"":"none"));return e}function T(e,t,n){var r=yn.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function R(e,t,n,r,o){for(var i=n===(r?"border":"content")?4:"width"===t?1:0,a=0;4>i;i+=2)"margin"===n&&(a+=lt.css(e,n+En[i],!0,o)),r?("content"===n&&(a-=lt.css(e,"padding"+En[i],!0,o)),"margin"!==n&&(a-=lt.css(e,"border"+En[i]+"Width",!0,o))):(a+=lt.css(e,"padding"+En[i],!0,o),"padding"!==n&&(a+=lt.css(e,"border"+En[i]+"Width",!0,o)));return a}function D(e,t,n){var r=!0,o="width"===t?e.offsetWidth:e.offsetHeight,i=pn(e),a=lt.support.boxSizing&&"border-box"===lt.css(e,"boxSizing",!1,i);if(0>=o||null==o){if(o=dn(e,t,i),(0>o||null==o)&&(o=e.style[t]),Cn.test(o))return o;r=a&&(lt.support.boxSizingReliable||o===e.style[t]),o=parseFloat(o)||0}return o+R(e,t,n||(a?"border":"content"),r,i)+"px"}function N(e){var t=G,n=xn[e];return n||(n=S(e,t),"none"!==n&&n||(ln=(ln||lt(" +

asciicast powered by asciinema

diff --git a/src/_blog/011-run-ipfs-on-a-vps/README.md b/src/_blog/011-run-ipfs-on-a-vps/README.md index edb1d558..2692675b 100644 --- a/src/_blog/011-run-ipfs-on-a-vps/README.md +++ b/src/_blog/011-run-ipfs-on-a-vps/README.md @@ -37,7 +37,8 @@ It's usually not a good idea to run a public-facing service as root. So we'll cr ## Adding content to IPFS - + +

asciicast powered by asciinema

First let's initialize the IPFS config: diff --git a/src/_blog/038-js-ipfs-0.34/README.md b/src/_blog/038-js-ipfs-0.34/README.md index 7f8b9d96..9668dec7 100644 --- a/src/_blog/038-js-ipfs-0.34/README.md +++ b/src/_blog/038-js-ipfs-0.34/README.md @@ -42,7 +42,7 @@ IPNS over pubsub gets the word out quicker to peers that are interested when an Smoosh your CIDs into whatever version you like - you can now add data under a version 0 CID and get it back using a version 1 CID and vice versa. Now that you have this freedom you can encode them with whatever multibase encoding you like. Version 0 CIDs are all base58btc but if you convert to a version 1 CID you can encode it with base2, base32, base64url or whatever: -```console +```bash # base2 010111000000010010001000000100011011010100010010000001010010111001110001011010111100010100000111000011101010101010101101111100000001011101110001011110100001000100111010101101010111111001000111110001001010000101100010110000001000011110101110100100010101110110100010110100110000001110 # base32 diff --git a/src/_blog/047-js-ipfs-0.36/README.md b/src/_blog/047-js-ipfs-0.36/README.md index e30cba85..469ee2f8 100644 --- a/src/_blog/047-js-ipfs-0.36/README.md +++ b/src/_blog/047-js-ipfs-0.36/README.md @@ -18,14 +18,14 @@ header_image: js-ipfs-placeholder.png As a stepping stone towards switching to CIDv1 by default for all CIDs, we're shipping a small change to v1 CIDs that means their string form is `base32` encoded instead of `base58btc`. So, instead of: -```console +```bash $ jsipfs add --cid-version 1 guardian.jpg added zb2rhk6GMPQF3hfzwXTaNYFLKomMeC6UXdUt6jZKPpeVirLtV guardian.jpg ``` You'll now get back a `base32` encoded CID: -```console +```bash $ jsipfs add --cid-version 1 guardian.jpg added bafkreibu6pkzh33dfwfa3bg3twih7uiohu6d6cr34txljekdn3cvwoujiu guardian.jpg ``` diff --git a/src/_blog/070-js-ipfs-0-38/README.md b/src/_blog/070-js-ipfs-0-38/README.md index c05de3dc..30c4d3ef 100644 --- a/src/_blog/070-js-ipfs-0-38/README.md +++ b/src/_blog/070-js-ipfs-0-38/README.md @@ -9,7 +9,7 @@ header_image: js-ipfs-placeholder.png > Garbage collection, gossipsub, IPNS support for ipfs resolve, oh my! -```console +```bash $ npm install -g ipfs ``` @@ -25,7 +25,7 @@ This is essential for keeping your repo to a manageable size, but must be run ma Use it with the following command: -```console +```bash $ jsipfs repo gc removed Qmfoo removed Qmbar @@ -33,7 +33,7 @@ removed Qmbar To prevent blocks being collected, pin them: -```console +```bash $ jsipfs pin add Qmbaz pinned Qmbaz recursively ``` @@ -50,7 +50,7 @@ Read more about the design at [`libp2p/specs/pubsub/gossipsub`](https://github.c You can now resolve [IPNS](https://docs.ipfs.io/guides/concepts/ipns/) names via `ipfs resolve`, what's more the recursive option is now on by default. -```console +```bash $ jsipfs resolve /ipns/Qmqux /ipfs/Qmgarply ``` diff --git a/src/_blog/072-js-ipfs-0.39/README.md b/src/_blog/072-js-ipfs-0.39/README.md index 588119d1..0bd51f79 100644 --- a/src/_blog/072-js-ipfs-0.39/README.md +++ b/src/_blog/072-js-ipfs-0.39/README.md @@ -17,7 +17,7 @@ IPFS now supports the `jsipfs config profile` subcommand which you can use to up You can examine available profiles with the `jsipfs config profile ls` command: -```console +```bash $ jsipfs config profile ls server: Recommended for nodes with public IPv4 address (servers, VPSes, etc.)... @@ -35,7 +35,7 @@ default-power: Apply them with `jsipfs config profile apply`: -```console +```bash $ jsipfs config profile apply lowpower ... output shows the difference between the old config and the new ``` @@ -44,13 +44,13 @@ You will need to restart your daemon for changes to take effect. Profiles can also be applied on init: -```console +```bash $ jsipfs init --profile server ``` Or when starting the daemon (more on that in the 'Init and start' section below): -```console +```bash $ jsipfs daemon --init-profile server ``` diff --git a/src/_blog/075-js-ipfs-0.40/README.md b/src/_blog/075-js-ipfs-0.40/README.md index 9a3bbe23..11ccdcd1 100644 --- a/src/_blog/075-js-ipfs-0.40/README.md +++ b/src/_blog/075-js-ipfs-0.40/README.md @@ -52,7 +52,7 @@ To ease the transition we support CID v0 converted to v1 (with `dag-pb` multicod These have been available in core for a while now and we finally got round to surfacing them in the CLI. e.g. -```console +```bash $ jsipfs dag put '""IPLD RULEZ""' bafyreia5coklfzblgd3reqwaieafmpasdceqmcnjrowre3623mtb4nxlhm diff --git a/src/_blog/077-collaborative-clusters/README.md b/src/_blog/077-collaborative-clusters/README.md index 83124b61..c5d2784e 100644 --- a/src/_blog/077-collaborative-clusters/README.md +++ b/src/_blog/077-collaborative-clusters/README.md @@ -35,7 +35,8 @@ collaborative clusters can be found at and re-start replication whenever you want. Also, here's a quick video to show how easy it is: - + +

asciicast powered by asciinema

We hope that collaborative clusters will allow the community to participate in the distribution and seeding of data they care about, enabling easy "mirroring" diff --git a/src/_blog/083-js-ipfs-0.41/README.md b/src/_blog/083-js-ipfs-0.41/README.md index ba85e655..e180ffb5 100644 --- a/src/_blog/083-js-ipfs-0.41/README.md +++ b/src/_blog/083-js-ipfs-0.41/README.md @@ -53,7 +53,7 @@ Turns out, it's really important for package managers to retain file metadata, p For example, there's two new options to `jsipfs add` that allow `mode` and `mtime` to be preserved as the file is added to IPFS: -```console +```bash $ jsipfs add -r --preserve-mtime --preserve-mode ~/Desktop/gif added QmT6WX9McZyx5ZoisRgpsjYKDBWnYpMnBLpfAgjW5kavBA gif/yesthisisdog.jpg added QmXMrFfZ9zHLZKN7xP2dX76YFFhvBJsQkd4fLnTDkyR31Q gif @@ -61,7 +61,7 @@ added QmXMrFfZ9zHLZKN7xP2dX76YFFhvBJsQkd4fLnTDkyR31Q gif Ok, no big changes there aside from the new options, buuut, now when you list directory contents you get `Mode` and `Mtime` info: -```console +```bash $ jsipfs ls QmXMrFfZ9zHLZKN7xP2dX76YFFhvBJsQkd4fLnTDkyR31Q -v Mode Mtime Hash Size Name -rw-r--r-- Apr 16, 2018, 12:20:33 PM GMT+1 QmT6WX9McZyx5ZoisRgpsjYKDBWnYpMnBLpfAgjW5kavBA 87779 yesthisisdog.jpg diff --git a/src/_blog/087-js-ipfs-0.42/README.md b/src/_blog/087-js-ipfs-0.42/README.md index 1481e1df..94938d0f 100644 --- a/src/_blog/087-js-ipfs-0.42/README.md +++ b/src/_blog/087-js-ipfs-0.42/README.md @@ -21,7 +21,7 @@ We've also merged some of our repos together which were logically intertwined. O Release Candidate builds of [`js-ipfs`](https://www.npmjs.com/package/ipfs) and [`js-ipfs-http-client`](https://www.npmjs.com/package/ipfs-http-client) are now being published to npm with every build of master, so you can try out the very bleeding edge with: -```console +```bash $ npm install -g ipfs@next or $ npm install ipfs-http-client@next @@ -33,13 +33,13 @@ This will download and install a version of `js-ipfs` and/or `js-ipfs-http-clien Publishing to Docker Hub has been restored so you can get a container running the latest and greatest `js-ipfs` with: -```console +```bash $ docker pull ipfs/js-ipfs ``` You can also pull pre-releases at any time with: -```console +```bash $ docker pull ipfs/js-ipfs:next ``` @@ -49,13 +49,13 @@ Check out all the releases at: https://hub.docker.com/r/ipfs/js-ipfs The [MFS][] CLI now supports nanosecond mtimes, use it with the following commands: -```console +```bash $ jsipfs mkdir /directory --mtime 1000 --mtime-nsecs 5 ``` `--mode` and `--mtime` are now also supported when piping files to `jsipfs add`: -```console +```bash $ cat ./file.txt | jsipfs add --mode 0500 ``` diff --git a/src/_blog/092-launching-testground/README.md b/src/_blog/092-launching-testground/README.md index 0adce6bc..3d74dcfc 100644 --- a/src/_blog/092-launching-testground/README.md +++ b/src/_blog/092-launching-testground/README.md @@ -24,7 +24,8 @@ As Testground graduates from the cozy incubation nest of the IPFS Project, we’ Testground is a platform for testing, benchmarking, and simulating distributed and p2p systems at scale. It's designed to be multilingual and runtime-agnostic, scaling gracefully from 2 to 10k instances as needed. - + +

asciicast powered by asciinema

Testground aims to support **a variety of testing workflows** such as experimental/iterative development, A/B testing, backwards/forward-compatibility testing, interoperability testing, and CI workflows. diff --git a/src/_blog/104-js-ipfs-0.48/README.md b/src/_blog/104-js-ipfs-0.48/README.md index 8e137f63..055b5b78 100644 --- a/src/_blog/104-js-ipfs-0.48/README.md +++ b/src/_blog/104-js-ipfs-0.48/README.md @@ -29,7 +29,7 @@ The full [DHT][] implementation for JS IPFS with all the [changes made in Go IPF You can enable the [DHT][] for JS IPFS daemons via the command line. To put your node into client mode run: -```console +```bash $ jsipfs config Routing.Type dhtclient ``` @@ -68,7 +68,7 @@ With the release of `js-IPFS@0.48.0`, all blocks are now stored against the base You may notice this when starting up your node: -```console +```bash $ jsipfs daemon Initializing IPFS daemon... js-ipfs version: 0.48.0 @@ -79,7 +79,7 @@ Incompatible repo version. Migration needed. Pass --migrate for automatic migrat Just pass `--migrate` and your blockstore will be converted: -```console +```bash $ jsipfs daemon --migrate Initializing IPFS daemon... js-ipfs version: 0.48.0 diff --git a/src/_blog/110-go-ipfs-0-7-0/README.md b/src/_blog/110-go-ipfs-0-7-0/README.md index c7c158c7..29274bc4 100644 --- a/src/_blog/110-go-ipfs-0-7-0/README.md +++ b/src/_blog/110-go-ipfs-0-7-0/README.md @@ -27,7 +27,7 @@ Previously go-ipfs generated 2048 bit RSA keys for new nodes, but it will now us Along with switching the default key type, we've added support for rotating Identity keys. If you would like to change the key type of your IPFS node, you can now do so with the rotate command. **NOTE: This will affect your Peer Id, so be sure you want to do this!** Your existing identity key will be backed up in the Keystore so that it can still be referenced for things like IPNS records. -```console +```bash $ ipfs key rotate -o my-old-key -t ed25519 ``` @@ -35,7 +35,7 @@ $ ipfs key rotate -o my-old-key -t ed25519 Speaking of backing up keys, we've added commands to allow you to export and import keys from the IPFS Keystore to a local .key file. This does not currently apply to the IPFS identity key, `self`, which is housed in the configuration file. -```console +```bash $ ipfs key gen mykey $ ipfs key export -o mykey.key mykey # ./.key is the default path $ ipfs key import mykey mykey.key # on another node @@ -47,7 +47,7 @@ Previously go-ipfs encoded the key names for IPNS paths as base58btc multihashes Many commands will accept a `--ipns-base` option that allows changing command outputs to use a particular encoding (i.e. base58btc multihash, or CIDv1 encoded in any supported base): -```console +```bash $ ipfs key list -l --ipns-base b58mh 12D3KooWCjhz69LskTZEC5vFWs8eDpHo7kYbGzrC5EjU75BHSmVK self $ ipfs key list -l --ipns-base base36 @@ -58,7 +58,7 @@ k51qzi5uqu5dh9ihj4p2v5sl3hxvv27ryx2w0xrsv6jmmqi91t9xp8p9kaipc2 self In preparation for eventually changing the default PeerID representation multiaddresses can now contain strings like `/p2p/k51xyz...` in addition to the default `/p2p/Qmabc...`. There is a corresponding `--peerid-base` option to many functions that output peerIDs: -```console +```bash $ ipfs id --format "" --peerid-base b58mh 12D3KooWCjhz69LskTZEC5vFWs8eDpHo7kYbGzrC5EjU75BHSmVK $ ipfs id --format "" --peerid-base base36 @@ -69,7 +69,7 @@ k51qzi5uqu5dh9ihj4p2v5sl3hxvv27ryx2w0xrsv6jmmqi91t9xp8p9kaipc2 Initial support has been added for the `ipfs dag stat` command. Running this command will traverse the DAG for the given root CID and report statistics. By default, progress will be shown as the DAG is traversed. Supported statistics currently include DAG size and number of blocks. -```console +```bash $ ipfs dag stat bafybeihpetclqvwb4qnmumvcn7nh4pxrtugrlpw4jgjpqicdxsv7opdm6e # the IPFS webui Size: 30362191, NumBlocks: 346 ``` diff --git a/src/_blog/newslinks/README.md b/src/_blog/newslinks/README.md new file mode 100644 index 00000000..ee16a991 --- /dev/null +++ b/src/_blog/newslinks/README.md @@ -0,0 +1,20 @@ +--- +date: 2020-10-21 +url: newslinks +title: Newslinks +type: newslink +data: + - name: test + title: newslink to ipfs.io + path: https://ipfs.io/ + date: 2020-10-22 + tags: weekly + - name: link 2 + title: title 2 + path: https://ipfs.io/ + date: 2020-10-23 + - name: link 3 + title: title 3 + path: https://ipfs.io/ + date: 2020-10-24 +--- diff --git a/src/_blog/weekly-010/README.md b/src/_blog/weekly-010/README.md index 2a713ac6..46863f60 100644 --- a/src/_blog/weekly-010/README.md +++ b/src/_blog/weekly-010/README.md @@ -91,7 +91,7 @@ go-ipfs has support for restricting peer connections to certain IP address range We had the first ever IPFS meetup in Cambridge, at MIT. It was sponsored by [Consensys](https://consensys.net), and hosted by the [MIT Bitcoin Club](http://bitcoin.mit.edu/). [@jbenet](https://github.com/jbenet), [@nicola](https://github.com/nicola), and [@CReckhow](https://twitter.com/CReckhow) each gave talks. A full writeup will appear on the blog as soon as we have edited the videos and posted them on the IPFS YouTube channel. We'll let you know when that happens, here. -_Photo by [@nicocesar\_](https://twitter.com/nicocesar_).\_ +_Photo by [@nicocesar\_](https://twitter.com/nicocesar_)._ ### Peergos