├── .gitignore ├── www ├── static │ ├── icon.png │ └── pyro_bg.png ├── pages │ ├── guides │ │ ├── index.md │ │ └── deployment │ │ │ ├── index.md │ │ │ ├── deno-deploy.md │ │ │ └── github-pages.md │ ├── _hidden.md │ ├── core-concepts │ │ ├── index.md │ │ ├── plugins.md │ │ ├── pages.md │ │ ├── sidebar.md │ │ ├── unocss.md │ │ └── markdown-features.md │ ├── getting-started │ │ ├── index.md │ │ ├── configuration.md │ │ └── installation.md │ └── index.tsx └── pyro.yml ├── tests └── end_to_end │ ├── deno_json │ ├── pyro.yml │ ├── static │ │ └── icon.png │ ├── deno.jsonc │ └── pages │ │ └── index.tsx │ ├── unocss │ ├── pyro.yml │ ├── static │ │ └── icon.png │ ├── pages │ │ └── index.md │ └── uno.config.ts │ └── json_config │ ├── pyro.json │ ├── static │ └── icon.png │ └── pages │ ├── getting-started │ ├── index.md │ └── submenu.md │ └── index.md ├── page.ts ├── plugins └── demo.tsx ├── deno.jsonc ├── README.md ├── .github └── workflows │ ├── ci.yml │ └── deploy.yml ├── cli.ts ├── install.ts ├── LICENSE ├── src ├── lib │ ├── types.ts │ ├── magic.ts │ ├── route_map.ts │ ├── rehype_starry_night.ts │ ├── sidebar.tsx │ ├── render.ts │ ├── page.tsx │ └── css.ts ├── generate.ts ├── dev.ts ├── build.ts └── utils.tsx └── deps.ts /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | build 3 | deno.lock -------------------------------------------------------------------------------- /www/static/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lino-levan/pyro/HEAD/www/static/icon.png -------------------------------------------------------------------------------- /tests/end_to_end/deno_json/pyro.yml: -------------------------------------------------------------------------------- 1 | title: Pyro Site 2 | github: https://github.com/lino-levan/pyro -------------------------------------------------------------------------------- /tests/end_to_end/unocss/pyro.yml: -------------------------------------------------------------------------------- 1 | title: Pyro Site 2 | github: https://github.com/lino-levan/pyro -------------------------------------------------------------------------------- /www/static/pyro_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lino-levan/pyro/HEAD/www/static/pyro_bg.png -------------------------------------------------------------------------------- /tests/end_to_end/json_config/pyro.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Pyro Site", 3 | "github": "https://github.com/lino-levan/pyro" 4 | } 5 | -------------------------------------------------------------------------------- /tests/end_to_end/unocss/static/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lino-levan/pyro/HEAD/tests/end_to_end/unocss/static/icon.png -------------------------------------------------------------------------------- /tests/end_to_end/deno_json/static/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lino-levan/pyro/HEAD/tests/end_to_end/deno_json/static/icon.png -------------------------------------------------------------------------------- /tests/end_to_end/json_config/static/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lino-levan/pyro/HEAD/tests/end_to_end/json_config/static/icon.png -------------------------------------------------------------------------------- /tests/end_to_end/deno_json/deno.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "imports": { 3 | "icons/": "https://deno.land/x/tabler_icons_tsx@0.0.4/tsx/" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /page.ts: -------------------------------------------------------------------------------- 1 | import { JSX } from "./src/lib/types.ts"; 2 | 3 | export type PageProps = { 4 | header: JSX.Element; 5 | footer?: JSX.Element; 6 | }; 7 | -------------------------------------------------------------------------------- /tests/end_to_end/json_config/pages/getting-started/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Getting Started 3 | description: My first Pyro directory 4 | index: 1 5 | --- 6 | -------------------------------------------------------------------------------- /tests/end_to_end/json_config/pages/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Hello World 3 | description: My first Pyro page 4 | index: 0 5 | --- 6 | 7 | How are you doing today? 8 | -------------------------------------------------------------------------------- /www/pages/guides/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Guides 3 | description: Pyro was designed from the ground up to be no-config and incredibly fast. 4 | index: 3 5 | --- 6 | 7 | Let's go through actually using Pyro in the real world! 8 | -------------------------------------------------------------------------------- /www/pages/_hidden.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Hidden 3 | --- 4 | 5 | This is a hidden page. It doesn't get rendered in the sidebar and it doesn't get 6 | routed to anything. It is only here for imports / exports / notes to 7 | maintainers. 8 | -------------------------------------------------------------------------------- /www/pages/core-concepts/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Core concepts 3 | description: Pyro was designed from the ground up to be no-config and incredibly fast. 4 | index: 2 5 | --- 6 | 7 | Let's learn about the most important Pyro concepts! 8 | -------------------------------------------------------------------------------- /www/pages/guides/deployment/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Deployment 3 | description: Pyro was designed from the ground up to be no-config and incredibly fast. 4 | index: 0 5 | --- 6 | 7 | Let's go through deploying Pyro in the real world! 8 | -------------------------------------------------------------------------------- /tests/end_to_end/unocss/pages/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Hello World 3 | description: My first Pyro page 4 | index: 0 5 | --- 6 | 7 | How are you doing today? 8 | 9 |
85 | Understand Pyro in 5 minutes by trying it out! 86 |
87 | 88 |First install Pyro
89 | 90 |
91 | deno run -Ar https://deno.land/x/pyro/install.ts
92 |
93 |
94 | Create the site
95 | 96 |
97 | pyro gen my-site
98 |
99 |
100 | Start the dev server
101 | 102 |
103 | cd my-site && pyro dev
104 |
105 |
106 | 107 | Open{" "} 108 | 109 | http://localhost:8000 110 | {" "} 111 | and create your first site! 112 |
113 | 114 |Pyro was built from the ground up to maximize DX.
117 | 118 |