diff --git a/docs/.vuepress/components/PageFooter.vue b/docs/.vuepress/components/PageFooter.vue new file mode 100644 index 0000000..f8d8d89 --- /dev/null +++ b/docs/.vuepress/components/PageFooter.vue @@ -0,0 +1,5 @@ + diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js new file mode 100644 index 0000000..671bb1b --- /dev/null +++ b/docs/.vuepress/config.js @@ -0,0 +1,144 @@ +"use strict"; + +// const DEV_ENV = process.env.NODE_ENV !== "production"; + +module.exports = { + + title: "PEG.js", + description: "A parser generator for JavaScript", + head: [ + + [ "meta", { "http-equiv": "XA-UA-Compatible", content: "IE=edge" } ], + [ "link", { rel: "shortcut icon", href: "/favicon.ico", type: "image/x-icon" } ], + + ], + dest: "dist", + ga: "UA-100728112-1", + serviceWorker: true, + themeConfig: { + + nav: [ + { + text: "Try Online", + link: "/online", + }, + { + text: "Documentation", + items: [ + { + text: "Guides", + link: "/guides/getting-started", + }, + { + text: "Grammar", + link: "/grammar/", + }, + { + text: "API", + link: "/guides/javascript-api", + }, + { + text: "Compatibility", + link: "/guides/compatibility", + }, + ], + }, + { + text: "Development", + items: [ + { + text: "Contribute", + link: "/development", + }, + { + text: "Changelogs", + link: "/changelogs/", + }, + { + text: "Source code", + link: "https://github.com/pegjs/pegjs", + }, + { + text: "Issue tracker", + link: "https://github.com/pegjs/pegjs/issues", + }, + ], + }, + { + text: "Community", + items: [ + { + text: "Forums", + link: "https://gitq.com/pegjs/pegjs", + }, + { + text: "Wiki", + link: "https://github.com/pegjs/pegjs/wiki", + }, + { + text: "Stack Overflow", + link: "https://stackoverflow.com/questions/tagged/pegjs", + }, + { + text: "Twitter", + link: "https://twitter.com/pegjs", + }, + { + text: "Plugins", + link: "https://www.npmjs.com/search?q=pegjs%20plugin", + } + ], + }, + ], + sidebar: { + + "/grammar/": [ + "", + "parsing-expression-types", + "balanced-braces", + "action-execution-environment", + "backtracking", + "case-insensitivity", + "error-messages", + [ "tracer", "Tracer" ], + ], + + "/guides/": [ + "getting-started", + "installation", + "command-line", + "generating-a-parser", + "javascript-api", + "plugins", + "using-the-parser", + "compatibility", + ], + + "/": false, + + }, + sidebarDepth: 0, + displayAllHeaders: false, + activeHeaderLinks: true, + // search: DEV_ENV ? true : false, + searchMaxSuggestions: 5, + // algolia: DEV_ENV ? void 0 : { + + // apiKey: "", + // indexName: "" + + // }, + lastUpdated: true, + serviceWorker: { + + updatePopup: true, + + }, + docsRepo: "pegjs/pegjs", + docsDir: "docs", + editLinks: true, + evergreen: false, + + }, + +}; diff --git a/docs/.vuepress/style.styl b/docs/.vuepress/style.styl new file mode 100644 index 0000000..c44b8fd --- /dev/null +++ b/docs/.vuepress/style.styl @@ -0,0 +1,15 @@ +html, body { + margin: 0; + padding: 0; + height: 100%; +} +#app { + min-height: 100%; + position: relative; +} + +#footer { + position: absolute; + bottom: 5px; + right: 5px; +}