From c0614d3634c7f622db54843a7c34a6fdf0025a46 Mon Sep 17 00:00:00 2001 From: Victor Westerlund Date: Thu, 20 Feb 2025 17:03:06 +0100 Subject: [PATCH] wip: 2025-02-20T15:01:08+0100 (1740060068) --- public/about.php | 0 .../css/pages/docs/{shell.css => layout.css} | 21 ++++-- public/assets/css/pages/error.css | 4 ++ public/assets/css/pages/examples.css | 42 ++++++++++++ public/assets/css/pages/features.css | 24 +++++++ public/assets/css/pages/index.css | 50 ++------------ .../HTMLCodeDemoElement.css | 5 ++ public/assets/css/snippets/split.css | 50 ++++++++++++++ .../js/{elements => }/CustomElement.mjs | 2 +- public/assets/js/shells/docs.js | 9 --- public/assets/js/shells/document.js | 9 --- .../HTMLCodeDemoElement.mjs | 2 +- public/assets/media/arrow.svg | 1 + public/assets/media/icons/languages/txt.svg | 1 + public/assets/media/img/icellate-com.avif | Bin 0 -> 9108 bytes public/assets/media/img/vegvisir-website.avif | Bin 0 -> 12204 bytes public/assets/media/img/vlw-se.avif | Bin 0 -> 5883 bytes public/demos.php | 0 public/docs/header.php | 12 ++-- .../v3.1.4/Reference/JavaScript/EVENTS.php | 4 +- .../docs/v3.1.4/Reference/JavaScript/MODE.php | 4 +- .../v3.1.4/Reference/JavaScript/POSITION.php | 4 +- .../v3.1.4/Reference/JavaScript/TARGET.php | 4 +- .../v3.1.4/Reference/JavaScript/abort.php | 4 +- .../Reference/JavaScript/bindElements.php | 4 +- .../Reference/JavaScript/constructor.php | 4 +- .../v3.1.4/Reference/JavaScript/navigate.php | 4 +- .../v3.1.4/Reference/JavaScript/options.php | 4 +- public/docs/v3.1.4/Reference/PHP/VV/css.php | 4 +- public/docs/v3.1.4/Reference/PHP/VV/embed.php | 4 +- .../docs/v3.1.4/Reference/PHP/VV/include.php | 4 +- public/docs/v3.1.4/Reference/PHP/VV/index.php | 2 +- public/docs/v3.1.4/Reference/PHP/VV/init.php | 4 +- public/docs/v3.1.4/Reference/PHP/VV/js.php | 4 +- public/docs/v3.1.4/Reference/aside.php | 24 ------- public/docs/v3.1.4/Reference/layout.php | 2 +- public/docs/v3.1.4/aside.php | 10 --- public/docs/v3.1.4/get-started.php | 53 ++++++++++++--- public/docs/v3.1.4/index.php | 14 +--- public/docs/v3.1.4/layout.php | 2 +- public/error.php | 6 +- public/examples.php | 37 +++++++++++ public/features.php | 62 ++++++++++++++++++ public/index.php | 55 ++++++++-------- public/shell.php | 18 ++--- .../HTMLCodeDemoElement.php | 12 +++- .../JS/abort/description/syntax.js.php | 0 .../JS/abort/example_abort/example.js.php | 0 .../PHP/VV/css/description/syntax.php.php | 0 .../PHP/VV/css/example_import/index.php.php | 0 .../PHP/VV/embed/description/syntax.php.php | 0 .../VV/embed/example_import/compiled.html.php | 0 .../PHP/VV/embed/example_import/icon.svg.php | 0 .../PHP/VV/embed/example_import/index.php.php | 0 .../PHP/VV/include/description/syntax.php.php | 0 .../VV/include/example_import/banner.php.php | 0 .../include/example_import/compiled.html.php | 0 .../VV/include/example_import/index.php.php | 0 .../PHP/VV/init/description/syntax.php.php | 0 .../VV/init/example_init/compiled.html.php | 0 .../PHP/VV/init/example_init/index.php.php | 0 .../PHP/VV/init/example_init/shell.php.php | 0 .../PHP/VV/js/description/syntax.php.php | 0 .../PHP/VV/js/example_import/index.php.php | 0 .../v3.1.4/get-started/nginx/nginx.conf.php | 1 + .../run_install_script/shell.sh.php | 1 + .../features/vv-include/shell.php.php | 1 + .../features/vv-nav/shell.php.php | 1 + .../index_assets/compiled.html.php | 1 + .../index_softnav/filesystem.txt.php | 1 - .../index_softnav/fs-tree.txt.php | 1 + .../index_softnav/index.php.php | 2 +- .../index_softnav/page1.php.php | 1 - .../index_softnav/page2.php.php | 1 - 74 files changed, 386 insertions(+), 210 deletions(-) delete mode 100644 public/about.php rename public/assets/css/pages/docs/{shell.css => layout.css} (83%) create mode 100644 public/assets/css/pages/error.css create mode 100644 public/assets/css/pages/examples.css create mode 100644 public/assets/css/pages/features.css rename public/assets/css/{elements => snippets}/HTMLCodeDemoElement.css (96%) create mode 100644 public/assets/css/snippets/split.css rename public/assets/js/{elements => }/CustomElement.mjs (93%) delete mode 100644 public/assets/js/shells/docs.js delete mode 100644 public/assets/js/shells/document.js rename public/assets/js/{elements => snippets}/HTMLCodeDemoElement.mjs (95%) create mode 100644 public/assets/media/arrow.svg create mode 100644 public/assets/media/icons/languages/txt.svg create mode 100644 public/assets/media/img/icellate-com.avif create mode 100644 public/assets/media/img/vegvisir-website.avif create mode 100644 public/assets/media/img/vlw-se.avif delete mode 100644 public/demos.php create mode 100644 public/examples.php create mode 100644 public/features.php rename {elements => snippets/HTMLCodeDemoElement}/HTMLCodeDemoElement.php (80%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/JS/abort/description/syntax.js.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/JS/abort/example_abort/example.js.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/css/description/syntax.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/css/example_import/index.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/embed/description/syntax.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/embed/example_import/compiled.html.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/embed/example_import/icon.svg.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/embed/example_import/index.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/include/description/syntax.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/include/example_import/banner.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/include/example_import/compiled.html.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/include/example_import/index.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/init/description/syntax.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/init/example_init/compiled.html.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/init/example_init/index.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/init/example_init/shell.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/js/description/syntax.php.php (100%) rename snippets/HTMLCodeDemoElement/docs/{v3.1.3 => v3.1.4}/PHP/VV/js/example_import/index.php.php (100%) create mode 100644 snippets/HTMLCodeDemoElement/docs/v3.1.4/get-started/nginx/nginx.conf.php create mode 100644 snippets/HTMLCodeDemoElement/docs/v3.1.4/get-started/run_install_script/shell.sh.php create mode 100644 snippets/HTMLCodeDemoElement/features/vv-include/shell.php.php create mode 100644 snippets/HTMLCodeDemoElement/features/vv-nav/shell.php.php delete mode 100644 snippets/HTMLCodeDemoElement/index_softnav/filesystem.txt.php create mode 100644 snippets/HTMLCodeDemoElement/index_softnav/fs-tree.txt.php delete mode 100644 snippets/HTMLCodeDemoElement/index_softnav/page1.php.php delete mode 100644 snippets/HTMLCodeDemoElement/index_softnav/page2.php.php diff --git a/public/about.php b/public/about.php deleted file mode 100644 index e69de29..0000000 diff --git a/public/assets/css/pages/docs/shell.css b/public/assets/css/pages/docs/layout.css similarity index 83% rename from public/assets/css/pages/docs/shell.css rename to public/assets/css/pages/docs/layout.css index b8c6688..3a28f56 100644 --- a/public/assets/css/pages/docs/shell.css +++ b/public/assets/css/pages/docs/layout.css @@ -1,12 +1,12 @@ vv-shell { display: grid; + grid-template-rows: calc(var(--running-size) - var(--padding)) 1fr var(--running-size); grid-template-areas: "header header" "aside main" "footer footer" ; grid-template-columns: 300px 1fr; - grid-template-rows: calc(var(--running-size) - var(--padding)) 1fr var(--running-size); } /* # Main */ @@ -15,20 +15,20 @@ main { --primer-color-accent: 0, 0, 0; --color-accent: black; + gap: var(--padding); display: flex; + padding: var(--padding); grid-area: main; font-family: sans-serif; flex-direction: column; - padding: var(--padding); - gap: calc(var(--padding) / 2); } main code { color: white; padding: 0 5px; - border-radius: 6px; font-weight: normal; font-family: monospace; + border-radius: 6px; background-color: #212121; } @@ -41,8 +41,15 @@ main h3 { margin-bottom: 5px; } -main ol li { - margin: calc(var(--padding) / 2) 0; +/* # Sections */ + +section.md { + gap: calc(var(--padding) / 2); + display: flex; + align-items: baseline; + flex-direction: column; } -/* # Sections */ \ No newline at end of file +section.md :is(ol, ul) li { + margin: calc(var(--padding) / 2) 0; +} \ No newline at end of file diff --git a/public/assets/css/pages/error.css b/public/assets/css/pages/error.css new file mode 100644 index 0000000..0497f60 --- /dev/null +++ b/public/assets/css/pages/error.css @@ -0,0 +1,4 @@ +vv-shell { + margin: auto; + text-align: center; +} \ No newline at end of file diff --git a/public/assets/css/pages/examples.css b/public/assets/css/pages/examples.css new file mode 100644 index 0000000..3e93239 --- /dev/null +++ b/public/assets/css/pages/examples.css @@ -0,0 +1,42 @@ +vv-shell { + gap: var(--padding); +} + +/* # Sections */ + +/* ## Heading */ + +section.heading { + text-align: center; + margin: var(--padding) 0; +} + +/* ## Grid */ + +section.grid { + gap: var(--padding); + display: grid; + grid-template-columns: repeat(3, 1fr); +} + +section.grid button { + width: 100%; + flex-direction: column; + justify-content: space-between; +} + +section.grid button img { + width: 100%; + border-radius: 6px; +} + +section.grid button > div { + display: flex; + text-align: right; + gap: var(--padding); + align-items: center; +} + +section.grid button p { + color: black; +} \ No newline at end of file diff --git a/public/assets/css/pages/features.css b/public/assets/css/pages/features.css new file mode 100644 index 0000000..16325e5 --- /dev/null +++ b/public/assets/css/pages/features.css @@ -0,0 +1,24 @@ +vv-shell { + padding: 0 var(--padding); +} + +/* # Section */ + +/* ## This stays */ + +section#this-stays { + display: flex; + align-items: center; + text-align: center; + fill: var(--color-accent); + justify-content: space-evenly; + height: var(--running-size); +} + +section#this-stays svg { + height: 70%; +} + +section#this-stays svg:last-child { + transform: rotateY(180deg); +} \ No newline at end of file diff --git a/public/assets/css/pages/index.css b/public/assets/css/pages/index.css index 0ab16b4..aa0d13e 100644 --- a/public/assets/css/pages/index.css +++ b/public/assets/css/pages/index.css @@ -1,48 +1,12 @@ +vv-shell { + padding: 0 var(--padding); +} + /* # Components */ -/* ## Split */ - -section.split { - display: grid; - grid-template-columns: repeat(2, 1fr); - margin: 10svh 0; -} - -section.split.center { - justify-items: center; -} - -section.split > div { - grid-row: 1; - display: flex; - align-items: center; - flex-direction: column; - justify-content: center; -} - -section.split.reverse > div:last-child { - grid-column: 1; -} - -section.split.reverse > div:first-child { - grid-column: 2; -} - -/* ### Text */ - -section.split .text { - width: 70%; - display: flex; - align-items: baseline; - flex-direction: column; -} - -/* ### Buttons */ - -section.split .buttons { - display: flex; - gap: var(--padding); - margin-top: var(--padding); +code-demo { + width: 100%; + max-width: 700px; } /* # Sections */ diff --git a/public/assets/css/elements/HTMLCodeDemoElement.css b/public/assets/css/snippets/HTMLCodeDemoElement.css similarity index 96% rename from public/assets/css/elements/HTMLCodeDemoElement.css rename to public/assets/css/snippets/HTMLCodeDemoElement.css index 8260aaa..c0039d2 100644 --- a/public/assets/css/elements/HTMLCodeDemoElement.css +++ b/public/assets/css/snippets/HTMLCodeDemoElement.css @@ -74,9 +74,14 @@ code-demo .header button[data-lang="html"] { /* # Body */ code-demo .body { + overflow: scroll; padding: var(--padding); } +code-demo .body .view-line { + white-space: pre; +} + /* ## Tabs */ code-demo .body [data-file] { diff --git a/public/assets/css/snippets/split.css b/public/assets/css/snippets/split.css new file mode 100644 index 0000000..ffc102e --- /dev/null +++ b/public/assets/css/snippets/split.css @@ -0,0 +1,50 @@ +/* # Split */ + +section.split { + display: grid; + grid-template-columns: repeat(2, 1fr); + margin: 10svh 0; +} + +section.split.center { + justify-items: center; +} + +section.split > div { + grid-row: 1; + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; +} + +section.split.reverse > div:last-child { + grid-column: 1; +} + +section.split.reverse > div:first-child { + grid-column: 2; +} + +/* ## Text */ + +section.split .text { + width: 70%; + display: flex; + align-items: baseline; + flex-direction: column; +} + +section.split.reverse .text { + align-items: end; + justify-self: end; + text-align: right; +} + +/* ## Buttons */ + +section.split .buttons { + display: flex; + gap: var(--padding); + margin-top: var(--padding); +} \ No newline at end of file diff --git a/public/assets/js/elements/CustomElement.mjs b/public/assets/js/CustomElement.mjs similarity index 93% rename from public/assets/js/elements/CustomElement.mjs rename to public/assets/js/CustomElement.mjs index bf91ff6..456774b 100644 --- a/public/assets/js/elements/CustomElement.mjs +++ b/public/assets/js/CustomElement.mjs @@ -1,4 +1,4 @@ -const PUBLIC_ELEMENT_STYLESHEET_DIR = "/assets/css/elements/"; +const PUBLIC_ELEMENT_STYLESHEET_DIR = "/assets/css/snippets/"; export class CustomElement extends HTMLElement { constructor() { diff --git a/public/assets/js/shells/docs.js b/public/assets/js/shells/docs.js deleted file mode 100644 index c5dd70b..0000000 --- a/public/assets/js/shells/docs.js +++ /dev/null @@ -1,9 +0,0 @@ -// Handle docs menu open/close -{ - const CLASSNAME_DOCS_MENU_OPEN = "docsMenuOpen"; - - // Toggle docs menu on button click - document.querySelector("section.menu").addEventListener("click", () => document.body.classList.toggle(CLASSNAME_DOCS_MENU_OPEN)); - // Hide docs menu on navigation - document.addEventListener(vegvisir.Navigation.EVENTS.STARTED, () => document.body.classList.remove(CLASSNAME_DOCS_MENU_OPEN)); -} \ No newline at end of file diff --git a/public/assets/js/shells/document.js b/public/assets/js/shells/document.js deleted file mode 100644 index 27bdc5f..0000000 --- a/public/assets/js/shells/document.js +++ /dev/null @@ -1,9 +0,0 @@ -// Handle global menu open/close events -{ - const CLASSNAME_MENU_OPEN = "menuOpen"; - - // Toggle menu on menu button click - document.querySelector("header .menuToggle").addEventListener("click", () => document.body.classList.toggle(CLASSNAME_MENU_OPEN)); - // Close menu on navigation - document.addEventListener(vegvisir.Navigation.EVENTS.STARTED, () => document.body.classList.remove(CLASSNAME_MENU_OPEN)); -} \ No newline at end of file diff --git a/public/assets/js/elements/HTMLCodeDemoElement.mjs b/public/assets/js/snippets/HTMLCodeDemoElement.mjs similarity index 95% rename from public/assets/js/elements/HTMLCodeDemoElement.mjs rename to public/assets/js/snippets/HTMLCodeDemoElement.mjs index 935aa85..d8305ec 100644 --- a/public/assets/js/elements/HTMLCodeDemoElement.mjs +++ b/public/assets/js/snippets/HTMLCodeDemoElement.mjs @@ -1,4 +1,4 @@ -import { CustomElement } from "./CustomElement.mjs"; +import { CustomElement } from "../CustomElement.mjs"; export const TAG_NAME = "code-demo"; diff --git a/public/assets/media/arrow.svg b/public/assets/media/arrow.svg new file mode 100644 index 0000000..3fd37f2 --- /dev/null +++ b/public/assets/media/arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/media/icons/languages/txt.svg b/public/assets/media/icons/languages/txt.svg new file mode 100644 index 0000000..082cfe9 --- /dev/null +++ b/public/assets/media/icons/languages/txt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/media/img/icellate-com.avif b/public/assets/media/img/icellate-com.avif new file mode 100644 index 0000000000000000000000000000000000000000..11e7c211e30c5932de026fd6546e83ed15549518 GIT binary patch literal 9108 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 A+W-In literal 0 HcmV?d00001 diff --git a/public/assets/media/img/vegvisir-website.avif b/public/assets/media/img/vegvisir-website.avif new file mode 100644 index 0000000000000000000000000000000000000000..f6452e0081a37bd056d46778e40c2166d4d7234a GIT binary patch literal 12204 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 literal 0 HcmV?d00001 diff --git a/public/assets/media/img/vlw-se.avif b/public/assets/media/img/vlw-se.avif new file mode 100644 index 0000000000000000000000000000000000000000..e73bc052b96bfe24183d05b72733925536a686e6 GIT binary patch literal 5883 zcmXw3byO7W(_MN&LRz{dr6r}L8$r68rMqDl1f-j#8>G9tyI}$8ZV*sH`os4-znOF9 z-nn9?J^tMNbYH5jbSY@Pp~ z0sxL6Q`i6Te`pIb`QI~`jv!aN|2(+YN)EDhF#Xp_003~W`L6=thyeintyj(f0@?q! z`#*>HwK0ePH~czd?9R?1?qKWi-%4wcqqF0yE)Q}vb$CTQkc*@Fzd-;1Sq%U{sCy-E z9YLO;e+mK+2z&)}V|Nbm03iB53D?xY*4f_F))N5#n#hn>i4f#yXZ+85jn~5v;o!d^ zzFu`?XJ+h*13*I~W^zt8?}3L$4&t0<#_2{*1LcZdbzvO#wEjwjL6{lUe#y*Al2#cL z?nxQH=b75{@BM9#m$$>@!9_JE59(R8MXu$~jbn#E5(+U|jj)=w)R^q`y4Fgr zXDPAu0>#{k zGkk_hTZq;o5D?@@UA-F@)1c_w3y!4;Lb|GNc)4?6ho2MpQRUHc!x%bS?wiiGd70w2Dh6ws z*U$5k#(ebl8aWy3iPN9~%Ea4GvfF<&!P;-~NMoQuZp4`MN{=%$vx5^vPYQx@b>#3! z9p+KD9M9-RN?)+ZJayiFB~}TJhh}Xy3~&+nWrpx;_BO`(of!jDtH5$(vFc#cc$7Ry zVTRe}^8L)UesP#8RTe3p-5+uWHSQlD!Qe0R5 z$ObI%YVX8Ow!;#ENvN++iz7DdPyR`oF)vgtBLtP)n2p7ib2j?%&eXPJwCLPff^N`(dkOVPVH5FWyMJn6v;s_<+KvC zuzvgx%omrYIGC)8GUMlcxO!4ke=XYhDw5V>1B7M?-1|=Rn9nT;sGLKKQJQ+D*3*fZ z>aCdii0dU34u8Mc_ZQ1;mv54<3S={ulk}9R6rM0X!M}4N82Bqz_}dbOw%#b6MJYVIR1W=((<-aiht%?ikhUnOx1Mam1kK%{S1GP3OB1O6iVtM8eHSLVhOLYj6-zM-}D z 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
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/JavaScript/EVENTS.php b/public/docs/v3.1.4/Reference/JavaScript/EVENTS.php index e98fa97..88a1507 100644 --- a/public/docs/v3.1.4/Reference/JavaScript/EVENTS.php +++ b/public/docs/v3.1.4/Reference/JavaScript/EVENTS.php @@ -6,7 +6,7 @@

This can be very useful for bundling SVGs, plaintext files, HTML, and more for faster page loading.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we will be inlining an SVG icon from /public/assets/icon.svg directly into our page as if it were hardcoded.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/JavaScript/MODE.php b/public/docs/v3.1.4/Reference/JavaScript/MODE.php index e98fa97..88a1507 100644 --- a/public/docs/v3.1.4/Reference/JavaScript/MODE.php +++ b/public/docs/v3.1.4/Reference/JavaScript/MODE.php @@ -6,7 +6,7 @@

This can be very useful for bundling SVGs, plaintext files, HTML, and more for faster page loading.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we will be inlining an SVG icon from /public/assets/icon.svg directly into our page as if it were hardcoded.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/JavaScript/POSITION.php b/public/docs/v3.1.4/Reference/JavaScript/POSITION.php index e98fa97..88a1507 100644 --- a/public/docs/v3.1.4/Reference/JavaScript/POSITION.php +++ b/public/docs/v3.1.4/Reference/JavaScript/POSITION.php @@ -6,7 +6,7 @@

This can be very useful for bundling SVGs, plaintext files, HTML, and more for faster page loading.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we will be inlining an SVG icon from /public/assets/icon.svg directly into our page as if it were hardcoded.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/JavaScript/TARGET.php b/public/docs/v3.1.4/Reference/JavaScript/TARGET.php index e98fa97..88a1507 100644 --- a/public/docs/v3.1.4/Reference/JavaScript/TARGET.php +++ b/public/docs/v3.1.4/Reference/JavaScript/TARGET.php @@ -6,7 +6,7 @@

This can be very useful for bundling SVGs, plaintext files, HTML, and more for faster page loading.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we will be inlining an SVG icon from /public/assets/icon.svg directly into our page as if it were hardcoded.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/JavaScript/abort.php b/public/docs/v3.1.4/Reference/JavaScript/abort.php index 44f2b14..f388f4c 100644 --- a/public/docs/v3.1.4/Reference/JavaScript/abort.php +++ b/public/docs/v3.1.4/Reference/JavaScript/abort.php @@ -6,7 +6,7 @@

This is an instance property of vegvisir.Navigation.

- +

Return value

@@ -24,6 +24,6 @@

In this example we will perform a simple programmatic Vegvsir navigation and abort it immediately.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/JavaScript/bindElements.php b/public/docs/v3.1.4/Reference/JavaScript/bindElements.php index e98fa97..88a1507 100644 --- a/public/docs/v3.1.4/Reference/JavaScript/bindElements.php +++ b/public/docs/v3.1.4/Reference/JavaScript/bindElements.php @@ -6,7 +6,7 @@

This can be very useful for bundling SVGs, plaintext files, HTML, and more for faster page loading.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we will be inlining an SVG icon from /public/assets/icon.svg directly into our page as if it were hardcoded.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/JavaScript/constructor.php b/public/docs/v3.1.4/Reference/JavaScript/constructor.php index e98fa97..88a1507 100644 --- a/public/docs/v3.1.4/Reference/JavaScript/constructor.php +++ b/public/docs/v3.1.4/Reference/JavaScript/constructor.php @@ -6,7 +6,7 @@

This can be very useful for bundling SVGs, plaintext files, HTML, and more for faster page loading.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we will be inlining an SVG icon from /public/assets/icon.svg directly into our page as if it were hardcoded.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/JavaScript/navigate.php b/public/docs/v3.1.4/Reference/JavaScript/navigate.php index e98fa97..88a1507 100644 --- a/public/docs/v3.1.4/Reference/JavaScript/navigate.php +++ b/public/docs/v3.1.4/Reference/JavaScript/navigate.php @@ -6,7 +6,7 @@

This can be very useful for bundling SVGs, plaintext files, HTML, and more for faster page loading.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we will be inlining an SVG icon from /public/assets/icon.svg directly into our page as if it were hardcoded.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/JavaScript/options.php b/public/docs/v3.1.4/Reference/JavaScript/options.php index e98fa97..88a1507 100644 --- a/public/docs/v3.1.4/Reference/JavaScript/options.php +++ b/public/docs/v3.1.4/Reference/JavaScript/options.php @@ -6,7 +6,7 @@

This can be very useful for bundling SVGs, plaintext files, HTML, and more for faster page loading.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we will be inlining an SVG icon from /public/assets/icon.svg directly into our page as if it were hardcoded.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/PHP/VV/css.php b/public/docs/v3.1.4/Reference/PHP/VV/css.php index f04777c..80aa6d0 100644 --- a/public/docs/v3.1.4/Reference/PHP/VV/css.php +++ b/public/docs/v3.1.4/Reference/PHP/VV/css.php @@ -5,7 +5,7 @@

Include a CSS file into a page which will be automatically minified and inlined.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we're importing a stylesheet from /public/assets/css/style.css relative from root_path.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/PHP/VV/embed.php b/public/docs/v3.1.4/Reference/PHP/VV/embed.php index e98fa97..88a1507 100644 --- a/public/docs/v3.1.4/Reference/PHP/VV/embed.php +++ b/public/docs/v3.1.4/Reference/PHP/VV/embed.php @@ -6,7 +6,7 @@

This can be very useful for bundling SVGs, plaintext files, HTML, and more for faster page loading.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we will be inlining an SVG icon from /public/assets/icon.svg directly into our page as if it were hardcoded.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/PHP/VV/include.php b/public/docs/v3.1.4/Reference/PHP/VV/include.php index 0695b3c..281fe09 100644 --- a/public/docs/v3.1.4/Reference/PHP/VV/include.php +++ b/public/docs/v3.1.4/Reference/PHP/VV/include.php @@ -5,7 +5,7 @@

Inject the compiled output of another Vegvisir page (or other PHP script).

- +

Parameters

@@ -46,6 +46,6 @@

In this example we will be including a PHP file that contains reusable code (a banner) from /snippets/banner.php into a Vegvisir page /public/index.php.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/PHP/VV/index.php b/public/docs/v3.1.4/Reference/PHP/VV/index.php index 4ca9b40..323baac 100644 --- a/public/docs/v3.1.4/Reference/PHP/VV/index.php +++ b/public/docs/v3.1.4/Reference/PHP/VV/index.php @@ -1,6 +1,6 @@
- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/PHP/VV/init.php b/public/docs/v3.1.4/Reference/PHP/VV/init.php index 9eb2e44..d0baba2 100644 --- a/public/docs/v3.1.4/Reference/PHP/VV/init.php +++ b/public/docs/v3.1.4/Reference/PHP/VV/init.php @@ -6,7 +6,7 @@

Place this as close to the bottom of your body tag in your shell_page as possible.

- +

Parameters

@@ -30,6 +30,6 @@

In this example we will initialize a single-page website with the two required files to run a bare-bones Vegvisir website: /public/index.php and /public/shell.php.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/PHP/VV/js.php b/public/docs/v3.1.4/Reference/PHP/VV/js.php index dc6c788..3e50032 100644 --- a/public/docs/v3.1.4/Reference/PHP/VV/js.php +++ b/public/docs/v3.1.4/Reference/PHP/VV/js.php @@ -5,7 +5,7 @@

Include a JavaScript source file into a page which will be automatically minified and inlined.

- +

Parameters

@@ -47,6 +47,6 @@

In this example we're importing a JavaScript source file from /public/assets/js/script.js relative from root_path.

- +
\ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/aside.php b/public/docs/v3.1.4/Reference/aside.php index 5908173..a9671fd 100644 --- a/public/docs/v3.1.4/Reference/aside.php +++ b/public/docs/v3.1.4/Reference/aside.php @@ -1,86 +1,62 @@ - \ No newline at end of file diff --git a/public/docs/v3.1.4/Reference/layout.php b/public/docs/v3.1.4/Reference/layout.php index 099c4fc..0eef26a 100644 --- a/public/docs/v3.1.4/Reference/layout.php +++ b/public/docs/v3.1.4/Reference/layout.php @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/public/docs/v3.1.4/aside.php b/public/docs/v3.1.4/aside.php index 87e396f..dba7eec 100644 --- a/public/docs/v3.1.4/aside.php +++ b/public/docs/v3.1.4/aside.php @@ -1,27 +1,17 @@ - \ No newline at end of file diff --git a/public/docs/v3.1.4/get-started.php b/public/docs/v3.1.4/get-started.php index a4f5a17..9163f5b 100644 --- a/public/docs/v3.1.4/get-started.php +++ b/public/docs/v3.1.4/get-started.php @@ -1,17 +1,50 @@ +
- -

Introduction

-

Vegvisir is a PHP and JavaScript web framework developed by Victor Westerlund as a hobby project.

-

This framework is not intended to replace the true-and-tested like Laravel, it would be interesting of course if it gained some users but my goal is to keep this project small and flexible.

-
+

Get Started with Vegvisir

+

In this guide we will install Vegvisir from a template repository. I will be using a Debian Linux environment for this demonstration.

- -

Scope

-

This documentation only covers the new experimental version of Vegvisir, which is version 3.

-

The older versions of Vegvisir can be found here. They lack proper documentation and function a bit differently than Vegvisir 3 which has been largely rewritten from scratch. The main addition to version 3 are what I call "shells".

-
+

Prerequisites

+
    +
  • PHP 8.3+
  • +
  • Composer
  • +
  • A web server
  • +
+
+
+

1. Clone the template repository

+

There is a template repository on Codeberg which you can clone or generate from which has a bare-bones website ready for us.

+ +
+
+

2. Run the install script

+

The template repository has an install.sh file in its root directory which will install and set up our Vegvisir configuration for us.

+ +
+
+

3. Configure your webserver

+

In this demo we will be using NGINX as our web server, and PHP-FPM (packaged by Ondřej Surý) as our FastCGI processor.

+

As long as you point all traffic to /vegvisir/public/index.php with PHP pass you should be fine with other web server programs too.

+ +
+
+

4. Done!

+

Navigate to your configured web server host and if you're greeted with a welcome to Vegvisir page, then everything is working as it should!

+

Feel free to experiment or follow the reference guide for more information about each Vegvisir feature.

+
\ No newline at end of file diff --git a/public/docs/v3.1.4/index.php b/public/docs/v3.1.4/index.php index a4f5a17..9966f54 100644 --- a/public/docs/v3.1.4/index.php +++ b/public/docs/v3.1.4/index.php @@ -1,17 +1,7 @@
- -

Introduction

-

Vegvisir is a PHP and JavaScript web framework developed by Victor Westerlund as a hobby project.

-

This framework is not intended to replace the true-and-tested like Laravel, it would be interesting of course if it gained some users but my goal is to keep this project small and flexible.

-
-
-
- -

Scope

-

This documentation only covers the new experimental version of Vegvisir, which is version 3.

-

The older versions of Vegvisir can be found here. They lack proper documentation and function a bit differently than Vegvisir 3 which has been largely rewritten from scratch. The main addition to version 3 are what I call "shells".

-
+

Introduction

+

Vegvisir is a work in progress, based on a framework I developed for a company a few years ago, which in turn was based on a content injector I built for another company. You can read more about the history of this framework on my personal website.

\ No newline at end of file diff --git a/public/docs/v3.1.4/layout.php b/public/docs/v3.1.4/layout.php index d435960..0cf2d6a 100644 --- a/public/docs/v3.1.4/layout.php +++ b/public/docs/v3.1.4/layout.php @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/public/error.php b/public/error.php index ab85d6d..7833554 100644 --- a/public/error.php +++ b/public/error.php @@ -1,3 +1,3 @@ -
-

404 Not Found

-
\ No newline at end of file + +

404 Not found,

+

there's nothing to show here :(

\ No newline at end of file diff --git a/public/examples.php b/public/examples.php new file mode 100644 index 0000000..0d9d5fc --- /dev/null +++ b/public/examples.php @@ -0,0 +1,37 @@ + +
+

Vegvisir in production

+

Here are some examples of Vegvisir being used on real websites!

+
+
+ + + +
\ No newline at end of file diff --git a/public/features.php b/public/features.php new file mode 100644 index 0000000..14e0b7c --- /dev/null +++ b/public/features.php @@ -0,0 +1,62 @@ + + + +
+ +
+

This thing there,

+

That header is present on every page, so it's loaded once and never again.

+
+ +
+
+
+

Website shell

+

Load your website's main stylesheet, JavaScript, markdown, and other assets once and keep them around between page navigations. Saving bandwidth and increases page load times considerably.

+ +
+
+ +
+
+ +
+
+

..or include that page with the response

+

Vevisir pages, snippets, and other PHP files can be inlined with the response using VV::include.

+ +
+
+ +
+
\ No newline at end of file diff --git a/public/index.php b/public/index.php index 1eb84a5..0c54907 100644 --- a/public/index.php +++ b/public/index.php @@ -5,11 +5,12 @@ require_once VV::root("src/Consts.php"); ?> - + +

PHP Web framework

-

with automatic soft-navigation and more!

+

with automatic soft-navigation and more!

developed as a hobby project by Victor Westerlund

@@ -18,42 +19,42 @@
-
-
-

Asset injection

-

Bundle your page JavaScript and CSS using native PHP templating and the VV PHP class directly into a automatically minified and soft-navigated page.

- -
-
- -
-
-
+

Automatic soft navigation

-

Vegvisir will automatically compile and soft-navigate between pages on your website without any modifications to your markdown. Even the file structure on disk follows an MPA-layout.

+

Load the shell of your website once, and soft-navigate between pages on the same host. That's what Vegvisir will automatically handle for you - without any ugly handle attributes.

- + +
+
+
+
+

Asset injection

+

Bundle page-specific CSS and JavaScript from separate files directly with your markdown. Vegvisir will import and minify CSS and JavaScript on the fly and return the result as compiled HTML.

+ +
+
+
@@ -71,4 +72,4 @@
- \ No newline at end of file + \ No newline at end of file diff --git a/public/shell.php b/public/shell.php index 0493345..35f259b 100644 --- a/public/shell.php +++ b/public/shell.php @@ -59,16 +59,16 @@

vegvisir

- - @@ -82,7 +82,7 @@ - @@ -96,19 +96,19 @@

Copyleft - All rights reversed