├── .gitignore ├── README.md ├── package.json ├── scripts └── redirects.js ├── src ├── .vuepress │ ├── config.js │ ├── enhanceApp.js │ ├── public │ │ ├── _redirects │ │ ├── assets │ │ │ └── logos │ │ │ │ ├── favicon.png │ │ │ │ ├── header.png │ │ │ │ ├── icon-1020x1020.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-256x256.png │ │ │ │ ├── icon-384x384.png │ │ │ │ ├── icon-512x512.png │ │ │ │ ├── logo.png │ │ │ │ ├── twitter-logo.png │ │ │ │ └── twitter-superchain.png │ │ └── manifest.json │ ├── styles │ │ ├── index.styl │ │ └── palette.styl │ └── theme │ │ ├── assets │ │ └── hero.jpg │ │ ├── components │ │ ├── AlgoliaSearch │ │ │ ├── Dropdown.d.ts │ │ │ ├── Dropdown.js │ │ │ ├── Dropdown.js.map │ │ │ ├── Dropdown.vue │ │ │ ├── Full.d.ts │ │ │ ├── Full.js │ │ │ ├── Full.js.map │ │ │ └── Full.vue │ │ ├── Anchor.d.ts │ │ ├── Anchor.js │ │ ├── Anchor.js.map │ │ ├── Anchor.vue │ │ ├── Blog │ │ │ ├── ArticleInfo.d.ts │ │ │ ├── ArticleInfo.js │ │ │ ├── ArticleInfo.js.map │ │ │ ├── ArticleInfo.vue │ │ │ ├── ArticleItem.d.ts │ │ │ ├── ArticleItem.js │ │ │ ├── ArticleItem.js.map │ │ │ ├── ArticleItem.vue │ │ │ ├── ArticleList.d.ts │ │ │ ├── ArticleList.js │ │ │ ├── ArticleList.js.map │ │ │ ├── ArticleList.vue │ │ │ ├── ArticleType.d.ts │ │ │ ├── ArticleType.js │ │ │ ├── ArticleType.js.map │ │ │ ├── ArticleType.vue │ │ │ ├── BlogHero.d.ts │ │ │ ├── BlogHero.js │ │ │ ├── BlogHero.js.map │ │ │ ├── BlogHero.vue │ │ │ ├── BlogHome.d.ts │ │ │ ├── BlogHome.js │ │ │ ├── BlogHome.js.map │ │ │ ├── BlogHome.vue │ │ │ ├── BlogInfo.d.ts │ │ │ ├── BlogInfo.js │ │ │ ├── BlogInfo.js.map │ │ │ ├── BlogInfo.vue │ │ │ ├── BlogInfoList.d.ts │ │ │ ├── BlogInfoList.js │ │ │ ├── BlogInfoList.js.map │ │ │ ├── BlogInfoList.vue │ │ │ ├── BlogPage.d.ts │ │ │ ├── BlogPage.js │ │ │ ├── BlogPage.js.map │ │ │ ├── BlogPage.vue │ │ │ ├── BloggerInfo.d.ts │ │ │ ├── BloggerInfo.js │ │ │ ├── BloggerInfo.js.map │ │ │ ├── BloggerInfo.vue │ │ │ ├── CategoryList.d.ts │ │ │ ├── CategoryList.js │ │ │ ├── CategoryList.js.map │ │ │ ├── CategoryList.vue │ │ │ ├── ProjectList.d.ts │ │ │ ├── ProjectList.js │ │ │ ├── ProjectList.js.map │ │ │ ├── ProjectList.vue │ │ │ ├── TagList.d.ts │ │ │ ├── TagList.js │ │ │ ├── TagList.js.map │ │ │ ├── TagList.vue │ │ │ ├── Timeline.d.ts │ │ │ ├── Timeline.js │ │ │ ├── Timeline.js.map │ │ │ ├── Timeline.vue │ │ │ ├── TimelineList.d.ts │ │ │ ├── TimelineList.js │ │ │ ├── TimelineList.js.map │ │ │ └── TimelineList.vue │ │ ├── Clipboard.d.ts │ │ ├── Clipboard.js │ │ ├── Clipboard.js.map │ │ ├── Clipboard.vue │ │ ├── Common.d.ts │ │ ├── Common.js │ │ ├── Common.js.map │ │ ├── Common.vue │ │ ├── Home.d.ts │ │ ├── Home.js │ │ ├── Home.js.map │ │ ├── Home.vue │ │ ├── MediaLinks.d.ts │ │ ├── MediaLinks.js │ │ ├── MediaLinks.js.map │ │ ├── MediaLinks.vue │ │ ├── MyTransition.d.ts │ │ ├── MyTransition.js │ │ ├── MyTransition.js.map │ │ ├── MyTransition.vue │ │ ├── Navbar │ │ │ ├── DropdownLink.d.ts │ │ │ ├── DropdownLink.js │ │ │ ├── DropdownLink.js.map │ │ │ ├── DropdownLink.vue │ │ │ ├── LanguageDropdown.d.ts │ │ │ ├── LanguageDropdown.js │ │ │ ├── LanguageDropdown.js.map │ │ │ ├── NavLink.d.ts │ │ │ ├── NavLink.js │ │ │ ├── NavLink.js.map │ │ │ ├── NavLink.vue │ │ │ ├── NavLinks.d.ts │ │ │ ├── NavLinks.js │ │ │ ├── NavLinks.js.map │ │ │ ├── NavLinks.vue │ │ │ ├── Navbar.d.ts │ │ │ ├── Navbar.js │ │ │ ├── Navbar.js.map │ │ │ ├── Navbar.vue │ │ │ ├── RepoLink.d.ts │ │ │ ├── RepoLink.js │ │ │ ├── RepoLink.js.map │ │ │ ├── RepoLink.vue │ │ │ └── SidebarButton.vue │ │ ├── Page.d.ts │ │ ├── Page.js │ │ ├── Page.js.map │ │ ├── Page.vue │ │ ├── PageFooter.d.ts │ │ ├── PageFooter.js │ │ ├── PageFooter.js.map │ │ ├── PageFooter.vue │ │ ├── PageMeta.d.ts │ │ ├── PageMeta.js │ │ ├── PageMeta.js.map │ │ ├── PageMeta.vue │ │ ├── PageNav.d.ts │ │ ├── PageNav.js │ │ ├── PageNav.js.map │ │ ├── PageNav.vue │ │ ├── Password.d.ts │ │ ├── Password.js │ │ ├── Password.js.map │ │ ├── Password.vue │ │ ├── Sidebar │ │ │ ├── DropdownTransition.d.ts │ │ │ ├── DropdownTransition.js │ │ │ ├── DropdownTransition.js.map │ │ │ ├── DropdownTransition.vue │ │ │ ├── Sidebar.d.ts │ │ │ ├── Sidebar.js │ │ │ ├── Sidebar.js.map │ │ │ ├── Sidebar.vue │ │ │ ├── SidebarDropdownLink.d.ts │ │ │ ├── SidebarDropdownLink.js │ │ │ ├── SidebarDropdownLink.js.map │ │ │ ├── SidebarDropdownLink.vue │ │ │ ├── SidebarGroup.d.ts │ │ │ ├── SidebarGroup.js │ │ │ ├── SidebarGroup.js.map │ │ │ ├── SidebarGroup.vue │ │ │ ├── SidebarLink.d.ts │ │ │ ├── SidebarLink.js │ │ │ ├── SidebarLink.js.map │ │ │ ├── SidebarLink.vue │ │ │ ├── SidebarLinks.d.ts │ │ │ ├── SidebarLinks.js │ │ │ ├── SidebarLinks.js.map │ │ │ ├── SidebarLinks.vue │ │ │ ├── SidebarNavLinks.d.ts │ │ │ ├── SidebarNavLinks.js │ │ │ ├── SidebarNavLinks.js.map │ │ │ └── SidebarNavLinks.vue │ │ └── Theme │ │ │ ├── DarkmodeSwitch.d.ts │ │ │ ├── DarkmodeSwitch.js │ │ │ ├── DarkmodeSwitch.js.map │ │ │ ├── DarkmodeSwitch.vue │ │ │ ├── ThemeColor.d.ts │ │ │ ├── ThemeColor.js │ │ │ ├── ThemeColor.js.map │ │ │ ├── ThemeColor.vue │ │ │ ├── ThemeOptions.d.ts │ │ │ ├── ThemeOptions.js │ │ │ ├── ThemeOptions.js.map │ │ │ └── ThemeOptions.vue │ │ ├── icons │ │ ├── ArticleIcon.vue │ │ ├── AutoIcon.vue │ │ ├── BookIcon.vue │ │ ├── DarkIcon.vue │ │ ├── EditIcon.vue │ │ ├── EmptyIcon.vue │ │ ├── I18nIcon.vue │ │ ├── LightIcon.vue │ │ ├── LinkIcon.vue │ │ ├── LockIcon.vue │ │ ├── NextIcon.vue │ │ ├── Page404Icon.vue │ │ ├── PresentationIcon.vue │ │ ├── PrevIcon.vue │ │ ├── ProjectIcon.vue │ │ ├── StickyIcon.vue │ │ └── media │ │ │ ├── Baidu.vue │ │ │ ├── Bitbucket.vue │ │ │ ├── Dingding.vue │ │ │ ├── Discord.vue │ │ │ ├── Dribbble.vue │ │ │ ├── Email.vue │ │ │ ├── Evernote.vue │ │ │ ├── Facebook.vue │ │ │ ├── Flipboard.vue │ │ │ ├── Gitee.vue │ │ │ ├── Github.vue │ │ │ ├── Gitlab.vue │ │ │ ├── Gmail.vue │ │ │ ├── Instagram.vue │ │ │ ├── Lines.vue │ │ │ ├── Linkedin.vue │ │ │ ├── Pinterest.vue │ │ │ ├── Pocket.vue │ │ │ ├── QQ.vue │ │ │ ├── Qzone.vue │ │ │ ├── Reddit.vue │ │ │ ├── Rss.vue │ │ │ ├── Steam.vue │ │ │ ├── Twitter.vue │ │ │ ├── Wechat.vue │ │ │ ├── Weibo.vue │ │ │ ├── Whatsapp.vue │ │ │ ├── Youtube.vue │ │ │ └── Zhihu.vue │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.js.map │ │ ├── layouts │ │ ├── 404.d.ts │ │ ├── 404.js │ │ ├── 404.js.map │ │ ├── 404.vue │ │ ├── Blog.d.ts │ │ ├── Blog.js │ │ ├── Blog.js.map │ │ ├── Blog.vue │ │ ├── Layout.d.ts │ │ ├── Layout.js │ │ ├── Layout.js.map │ │ ├── Layout.vue │ │ ├── Slide.d.ts │ │ ├── Slide.js │ │ ├── Slide.js.map │ │ └── Slide.vue │ │ ├── mixins │ │ ├── encrypt.d.ts │ │ ├── encrypt.js │ │ ├── encrypt.js.map │ │ ├── globalEncrypt.d.ts │ │ ├── globalEncrypt.js │ │ ├── globalEncrypt.js.map │ │ ├── pathEncrypt.d.ts │ │ ├── pathEncrypt.js │ │ ├── pathEncrypt.js.map │ │ ├── star.d.ts │ │ ├── star.js │ │ ├── star.js.map │ │ ├── timeline.d.ts │ │ ├── timeline.js │ │ └── timeline.js.map │ │ ├── node │ │ ├── alias.d.ts │ │ ├── alias.js │ │ ├── alias.js.map │ │ ├── chunk-rename.d.ts │ │ ├── chunk-rename.js │ │ ├── chunk-rename.js.map │ │ ├── clean-url.d.ts │ │ ├── clean-url.js │ │ ├── clean-url.js.map │ │ ├── config.d.ts │ │ ├── config.js │ │ ├── config.js.map │ │ ├── eject.d.ts │ │ ├── eject.js │ │ ├── eject.js.map │ │ ├── encrypt.d.ts │ │ ├── encrypt.js │ │ ├── encrypt.js.map │ │ ├── locales.d.ts │ │ ├── locales.js │ │ ├── locales.js.map │ │ ├── plugins.d.ts │ │ ├── plugins.js │ │ ├── plugins.js.map │ │ ├── themeConfig.d.ts │ │ ├── themeConfig.js │ │ └── themeConfig.js.map │ │ ├── styles │ │ ├── code │ │ │ └── index.styl │ │ ├── fonts │ │ │ └── crimson.css │ │ ├── index.styl │ │ ├── normalize.styl │ │ ├── palette.styl │ │ ├── plugins │ │ │ ├── index.styl │ │ │ ├── nprogress.styl │ │ │ └── search.styl │ │ ├── prefer-color-scheme-config.styl │ │ ├── theme-color.styl │ │ └── theme.styl │ │ ├── types │ │ ├── declare.d.ts │ │ ├── extend.d.ts │ │ ├── index.d.ts │ │ └── theme │ │ │ ├── appearance.d.ts │ │ │ ├── extends.d.ts │ │ │ ├── feature.d.ts │ │ │ ├── index.d.ts │ │ │ ├── layout.d.ts │ │ │ ├── locale.d.ts │ │ │ ├── plugin.d.ts │ │ │ └── theme.d.ts │ │ └── utils │ │ ├── article.d.ts │ │ ├── article.js │ │ ├── article.js.map │ │ ├── click-outside.d.ts │ │ ├── click-outside.js │ │ ├── click-outside.js.map │ │ ├── color.d.ts │ │ ├── color.js │ │ ├── color.js.map │ │ ├── dom.d.ts │ │ ├── dom.js │ │ ├── dom.js.map │ │ ├── encrypt.d.ts │ │ ├── encrypt.js │ │ ├── encrypt.js.map │ │ ├── groupHeader.d.ts │ │ ├── groupHeader.js │ │ ├── groupHeader.js.map │ │ ├── navbar.d.ts │ │ ├── navbar.js │ │ ├── navbar.js.map │ │ ├── navigate.d.ts │ │ ├── navigate.js │ │ ├── navigate.js.map │ │ ├── path.d.ts │ │ ├── path.js │ │ ├── path.js.map │ │ ├── sidebar.d.ts │ │ ├── sidebar.js │ │ └── sidebar.js.map ├── README.md ├── assets │ └── docs │ │ └── understand │ │ ├── landscape.png │ │ └── superchain-diag.png └── docs │ ├── README.md │ ├── build │ ├── README.md │ ├── conf.md │ ├── data-avail.md │ ├── derivation.md │ ├── execution.md │ ├── explorer.md │ ├── featured.md │ ├── getting-started.md │ ├── hacks.md │ ├── operations.md │ ├── sdk.md │ ├── settlement.md │ └── tutorials │ │ ├── add-attr.md │ │ ├── new-precomp.md │ │ └── predeploys.md │ ├── contribute.md │ ├── releases │ ├── README.md │ └── bedrock │ │ ├── README.md │ │ ├── differences.md │ │ └── explainer.md │ ├── security │ ├── README.md │ ├── faq.md │ ├── forced-withdrawal.md │ ├── pause.md │ └── policy.md │ └── understand │ ├── design-principles.md │ ├── explainer.md │ └── landscape.md └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | results 4 | temp 5 | .nyc_output 6 | coverage.json 7 | *.tsbuildinfo 8 | **/lcov.info 9 | 10 | yarn-error.log 11 | .yarn/* 12 | !.yarn/releases 13 | !.yarn/plugins 14 | .pnp.* 15 | 16 | dist 17 | artifacts 18 | cache 19 | 20 | packages/contracts-periphery/coverage* 21 | packages/contracts-periphery/@openzeppelin* 22 | packages/contracts-periphery/hardhat* 23 | packages/contracts-periphery/forge-artifacts* 24 | 25 | packages/contracts-bedrock/deployments/devnetL1 26 | packages/contracts-bedrock/deployments/anvil 27 | 28 | # vim 29 | *.sw* 30 | 31 | # jetbrains 32 | .idea/ 33 | 34 | .env 35 | .env* 36 | !.env.example 37 | *.log 38 | 39 | .devnet 40 | 41 | # Ignore local fuzzing results 42 | **/testdata/fuzz/ 43 | 44 | coverage.out 45 | 46 | # Ignore bedrock go bindings local output files 47 | op-bindings/bin 48 | op-exporter 49 | 50 | 51 | __pycache__ 52 | 53 | # Ignore echidna artifacts 54 | crytic-export 55 | 56 | # Ignore the generated redirects file 57 | src/.vuepress/redirects.js 58 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eth-optimism/op-stack-docs", 3 | "version": "0.0.2", 4 | "description": "The OP Stack Docs", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "yarn redirects && vuepress dev src", 8 | "build": "yarn redirects && vuepress build src", 9 | "preview": "yarn build && serve -s src/.vuepress/dist -p 8080", 10 | "redirects": "node scripts/redirects.js" 11 | }, 12 | "license": "MIT", 13 | "devDependencies": { 14 | "@vuepress/plugin-medium-zoom": "^1.8.2", 15 | "@vuepress/plugin-pwa": "^1.9.7", 16 | "serve": "^14.2.0", 17 | "vuepress": "^1.8.2", 18 | "vuepress-plugin-plausible-analytics": "^0.2.1", 19 | "vuepress-theme-hope": "^1.22.0" 20 | }, 21 | "dependencies": { 22 | "check-md": "^1.0.2", 23 | "dayjs": "^1.11.7" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /scripts/redirects.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | 3 | const redirectsFilePath = 'src/.vuepress/public/_redirects' 4 | const outputFilePath = 'src/.vuepress/redirects.js' 5 | 6 | const lines = fs.readFileSync(redirectsFilePath, 'utf-8').split('\n') 7 | const routes = {} 8 | lines.forEach(line => { 9 | const [source, destination] = line.split(/\s+/) 10 | routes[source] = destination 11 | }) 12 | 13 | fs.writeFileSync(outputFilePath, `export default ${JSON.stringify(routes, null, 2)}`) 14 | -------------------------------------------------------------------------------- /src/.vuepress/enhanceApp.js: -------------------------------------------------------------------------------- 1 | import event from '@vuepress/plugin-pwa/lib/event' 2 | import redirects from './redirects' 3 | 4 | export default ({ router }) => { 5 | registerAutoReload(); 6 | 7 | router.addRoutes([ 8 | { path: '/docs/', redirect: '/' } 9 | ]) 10 | 11 | // Custom redirect hack. 12 | if (typeof window !== 'undefined') { 13 | router.beforeEach((to, from, next) => { 14 | const target = redirects[to.path] || redirects[to.path.replace(/\/$/, '')] 15 | if (target) { 16 | if (target.startsWith('http://') || target.startsWith('https://')) { 17 | window.location.href = target 18 | } else { 19 | next(target) 20 | } 21 | } else { 22 | next() 23 | } 24 | }) 25 | } 26 | } 27 | 28 | // When new content is detected by the app, this will automatically 29 | // refresh the page, so that users do not need to manually click 30 | // the refresh button. For more details see: 31 | // https://linear.app/optimism/issue/FE-1003/investigate-archive-issue-on-docs 32 | const registerAutoReload = () => { 33 | event.$on('sw-updated', e => { 34 | e.skipWaiting().then(() => 35 | { 36 | if (typeof location !== 'undefined') 37 | location.reload(true); 38 | } 39 | ) 40 | }) 41 | } 42 | -------------------------------------------------------------------------------- /src/.vuepress/public/assets/logos/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/public/assets/logos/favicon.png -------------------------------------------------------------------------------- /src/.vuepress/public/assets/logos/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/public/assets/logos/header.png -------------------------------------------------------------------------------- /src/.vuepress/public/assets/logos/icon-1020x1020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/public/assets/logos/icon-1020x1020.png -------------------------------------------------------------------------------- /src/.vuepress/public/assets/logos/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/public/assets/logos/icon-192x192.png -------------------------------------------------------------------------------- /src/.vuepress/public/assets/logos/icon-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/public/assets/logos/icon-256x256.png -------------------------------------------------------------------------------- /src/.vuepress/public/assets/logos/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/public/assets/logos/icon-384x384.png -------------------------------------------------------------------------------- /src/.vuepress/public/assets/logos/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/public/assets/logos/icon-512x512.png -------------------------------------------------------------------------------- /src/.vuepress/public/assets/logos/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/public/assets/logos/logo.png -------------------------------------------------------------------------------- /src/.vuepress/public/assets/logos/twitter-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/public/assets/logos/twitter-logo.png -------------------------------------------------------------------------------- /src/.vuepress/public/assets/logos/twitter-superchain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/public/assets/logos/twitter-superchain.png -------------------------------------------------------------------------------- /src/.vuepress/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "OP Docs", 3 | "short_name": "OP Docs", 4 | "description": "The official OP Docs", 5 | "icons": [ 6 | { 7 | "src": "/assets/logos/icon-192x192.png", 8 | "sizes": "192x192", 9 | "type": "image/png" 10 | }, 11 | { 12 | "src": "/assets/logos/icon-256x256.png", 13 | "sizes": "256x256", 14 | "type": "image/png" 15 | }, 16 | { 17 | "src": "/assets/logos/icon-384x384.png", 18 | "sizes": "384x384", 19 | "type": "image/png" 20 | }, 21 | { 22 | "src": "/assets/logos/icon-512x512.png", 23 | "sizes": "512x512", 24 | "type": "image/png" 25 | }, 26 | { 27 | "src": "/assets/logos/icon-1020x1020.png", 28 | "sizes": "any", 29 | "type": "image/png" 30 | } 31 | ], 32 | "start_url": "/index.html", 33 | "display": "standalone", 34 | "background_color": "#ffffff", 35 | "theme_color": "#ff0420" 36 | } 37 | -------------------------------------------------------------------------------- /src/.vuepress/styles/palette.styl: -------------------------------------------------------------------------------- 1 | $textColor = #000000 2 | $accentColor = #f01a37 3 | $backgroundColor = #272934 4 | $lightBackgroundColor = #f3f3f3 5 | $sidebarWidth = 320px 6 | -------------------------------------------------------------------------------- /src/.vuepress/theme/assets/hero.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereum-optimism/stack-docs/71aa181ed616726afa5034c71a501cefd788f48f/src/.vuepress/theme/assets/hero.jpg -------------------------------------------------------------------------------- /src/.vuepress/theme/components/AlgoliaSearch/Dropdown.d.ts: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import type { AlgoliaOption } from "@mr-hope/vuepress-types"; 3 | declare const _default: import("vue/types/vue").ExtendedVue; 11 | export default _default; 12 | -------------------------------------------------------------------------------- /src/.vuepress/theme/components/AlgoliaSearch/Full.d.ts: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import type { AlgoliaOption } from "@mr-hope/vuepress-types"; 3 | declare const _default: import("vue/types/vue").ExtendedVue; 10 | export default _default; 11 | -------------------------------------------------------------------------------- /src/.vuepress/theme/components/Anchor.d.ts: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import { SidebarHeader } from "@theme/utils/sidebar"; 3 | declare const _default: import("vue/types/vue").ExtendedVue; 6 | export default _default; 7 | -------------------------------------------------------------------------------- /src/.vuepress/theme/components/Blog/ArticleInfo.d.ts: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import type { PageComputed } from "@mr-hope/vuepress-types"; 3 | declare const _default: import("vue/types/vue").ExtendedVue; 16 | export default _default; 17 | -------------------------------------------------------------------------------- /src/.vuepress/theme/components/Blog/ArticleItem.d.ts: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import type { PageComputed } from "@mr-hope/vuepress-types"; 3 | declare const _default: import("vue/types/vue").ExtendedVue; 9 | export default _default; 10 | -------------------------------------------------------------------------------- /src/.vuepress/theme/components/Blog/ArticleItem.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import ArticleInfo from "@theme/components/Blog/ArticleInfo.vue"; 3 | import LockIcon from "@theme/icons/LockIcon.vue"; 4 | import PresentationIcon from "@theme/icons/PresentationIcon.vue"; 5 | import StickyIcon from "@theme/icons/StickyIcon.vue"; 6 | import { getPathMatchedKeys } from "@theme/utils/encrypt"; 7 | export default Vue.extend({ 8 | name: "ArticleItem", 9 | components: { ArticleInfo, LockIcon, StickyIcon, PresentationIcon }, 10 | props: { 11 | article: { type: Object, required: true }, 12 | }, 13 | computed: { 14 | isEncrypted() { 15 | return (getPathMatchedKeys(this.$themeConfig.encrypt, this.article.path) 16 | .length !== 0 || Boolean(this.article.frontmatter.password)); 17 | }, 18 | excerpt() { 19 | if (this.article.excerpt) 20 | return this.article.excerpt; 21 | return (this.article.frontmatter.description || 22 | this.article.frontmatter.summary || 23 | ""); 24 | }, 25 | }, 26 | }); 27 | //# sourceMappingURL=ArticleItem.js.map -------------------------------------------------------------------------------- /src/.vuepress/theme/components/Blog/ArticleItem.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"ArticleItem.js","sourceRoot":"","sources":["ArticleItem.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,eAAe,GAAG,CAAC,MAAM,CAAC;IACxB,IAAI,EAAE,aAAa;IAEnB,UAAU,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE;IAEnE,KAAK,EAAE;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,MAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE;KACpE;IAED,QAAQ,EAAE;QACR,WAAW;YACT,OAAO,CACL,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;iBAC7D,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAEtD,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW;gBACpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO;gBAChC,EAAE,CACH,CAAC;QACJ,CAAC;KACF;CACF,CAAC,CAAC"} -------------------------------------------------------------------------------- /src/.vuepress/theme/components/Blog/ArticleList.d.ts: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import type { BlogOptions } from "@theme/types"; 3 | import type { PageComputed } from "@mr-hope/vuepress-types"; 4 | declare const _default: import("vue/types/vue").ExtendedVue boolean) | undefined; 13 | $articles: PageComputed[]; 14 | articles: PageComputed[]; 15 | }, Record>; 16 | export default _default; 17 | -------------------------------------------------------------------------------- /src/.vuepress/theme/components/Blog/ArticleList.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 |