Compare commits

..

3 commits

70 changed files with 1073 additions and 21 deletions

View file

@ -5,4 +5,4 @@
/**
* # Docs
*/
const VERSION_LATEST = "/public/docs/v3.1.4/";
const VERSION_LATEST = "/public/docs/v3.1.5/";

View file

@ -0,0 +1,55 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>Environment variables</h1>
<p>Vegvisir has a few environment variables that can be modified to change its behavior.</p>
<p>Copy <code>.env.example.ini</code> to <code>.env.ini</code> and edit the copied file to get started.</p>
</section>
<hr>
<section>
<h1>Reference</h1>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">root_path</code></h2>
<p>An <strong>absolute</strong> path to the folder where your project is located.</p>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">shell_page</code></h2>
<p>A path relative from your <code class="mtk10">root_path</code> to a PHP file that contains a <a href="/docs/v3.1.5/Reference/Env#vv-shell"><code>vv-shell</code></a> element, and will be loaded as the shell of your page.</p>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">public_path</code></h2>
<p>A path relative from your <code class="mtk10">root_path</code> to a folder containing public PHP pages and other public static assets.</p>
<p>The default for this variable is "public/".</p>
</section>
<section class="md param">
<h3><code class="mtk6">string</code> | <code class="mtk6">null</code></h3>
<h2><code class="mtk10">error_page_path</code></h2>
<p>An optional path relative from your <code class="mtk10">root_path</code> to a PHP file that will be loaded when a page can not be found.</p>
<p>Commenting-out this variable or setting it to null will disable error pages. An empty respone body will be returned.</p>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">worker_magic_pathname</code></h2>
<p>Vegvisir navigation worker code will be returned when request pathname matches this string</p>
<p>This variable can be left as-is for most applications.</p>
</section>
<section class="md param">
<h3><code class="mtk6">string</code> | <code class="mtk6">null</code></h3>
<h2><code class="mtk10">rfc_4288_url</code></h2>
<p>URL to an RFC 4288 compatible MIME-type file which will be cached (until server reboot) and referenced for serving static assets.</p>
<p>The default for this variable is <a href="https://raw.githubusercontent.com/apache/httpd/refs/heads/trunk/docs/conf/mime.types">Apache's httpd MIME-reference</a>.</p>
<p>Commenting-out this variable or setting it to null will disable custom MIME-lists and default to PHP's <a href="https://www.php.net/manual/en/function.mime-content-type.php"><code>mime_content_type</code></a> parser.</p>
</section>
<section class="md param">
<h3><code class="mtk6">bool</code></h3>
<h2><code class="mtk10">display_php_source</code></h2>
<h3>Enabling this can lead to sensitive information being leaked from your back-end.</h3>
<p>When set to <code class="mtk6">true</code> appending <i>".php"</i> to the end of any page pathname will return the PHP source for that page in <code>text/plain</code>.</p>
<p>For example, <i>https://example.com/page.php</i> will let the visitor inspect the PHP code for that page.</p>
<p>Commenting-out this variable or setting it to null will default this setting to <code class="mtk6">false</code>.</p>
</section>
</main>

View file

@ -0,0 +1,30 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>Navigation.EVENTS</h1>
<p>A set of <a href="https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent"><code class="mtk17">CustomEvent</code></a> instances dispatched when various Vegvisir navigations are performed.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/events/description") ?>
</section>
<section>
<h1>Properties</h1>
</section>
<section class="md param">
<h2 class="default"><code class="mtk19">STARTED</code></h2>
<p>An event dispatched with the <a href="https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#type"><code>type</code></a> of <code class="mtk12">"navstarted"</code> on the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element when a navigation has started. This event is also dispatched on <code>document.body</code>.</p>
<p>The <a href="https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/detail"><code>detail</code></a> property of this event returns the <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> instance that initiated the navigation.</p>
</section>
<section class="md param">
<h2 class="default"><code class="mtk19">FINISHED</code></h2>
<p>An event dispatched with the <a href="https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#type"><code>type</code></a> of <code class="mtk12">"navfinished"</code> on the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element when a navigation has finished loading completely (content has been injected). This event is also dispatched on <code>document.body</code>.</p>
<p>The <a href="https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/detail"><code>detail</code></a> property of this event returns the <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> instance that initiated the navigation.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<p>No examples available.</p>
</section>
</main>

View file

@ -0,0 +1,29 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>Navigation.MODE</h1>
<p>A static object of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> that alters the injection method of the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element of <a href="/docs/v3.1.5/Reference/JavaScript/navigate"><code>.navigate()</code></a></p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/mode/description") ?>
</section>
<section>
<h1>Properties</h1>
</section>
<section class="md param">
<h2 class="default"><code class="mtk19">REPLACE</code></h2>
<p>The inner DOM of the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element of <a href="/docs/v3.1.5/Reference/JavaScript/navigate"><code>.navigate()</code></a> will be <strong>replaced</strong> with the contents of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code>href</code></a> from a <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> instance.</p>
<p>This is the default behavior.</p>
</section>
<section class="md param">
<h2><code class="mtk19">REPLACE</code></h2>
<p>The contents of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code>href</code></a> from a <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> instance will be <strong>inserted</strong>(appended) to the end of the existing DOM of the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element of <a href="/docs/v3.1.5/Reference/JavaScript/navigate"><code>.navigate()</code></a></p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<p>No examples available.</p>
</section>
</main>

View file

@ -0,0 +1,39 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>Navigation.POSITION</h1>
<p>A static object of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> that adheres to the same concept as <a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentElement#position"><code>position</code> of <code>.insertAdjacentElement()</code></a></p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/position/description") ?>
</section>
<section>
<h1>Properties</h1>
</section>
<section class="md param">
<h2><code class="mtk19">AFTEREND</code></h2>
<p><a href="/docs/v3.1.5/Reference/JavaScript/MODE">Inserts/replaces</a> the DOM <strong>after</strong> the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element with the contents of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code>href</code></a> from a <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> instance.</p>
</section>
<section class="md param">
<h2 class="default"><code class="mtk19">BEFOREEND</code></h2>
<p>This is the default behavior.</p>
<p><a href="/docs/v3.1.5/Reference/JavaScript/MODE">Inserts/replaces</a> the DOM <strong>right before closing</strong> the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element with the contents of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code>href</code></a> from a <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> instance.</p>
<p><a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code><span class="mtk17">Navigation</span>.<span class="mtk19">MODE</span>.<span class="mtk19">REPLACE</span></code></a> makes this perform the same operation as <code class="mtk19">AFTERBEGIN</code>.</p>
</section>
<section class="md param">
<h2><code class="mtk19">AFTERBEGIN</code></h2>
<p><a href="/docs/v3.1.5/Reference/JavaScript/MODE">Inserts/replaces</a> the DOM <strong>right after opening</strong> the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element with the contents of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code>href</code></a> from a <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> instance.</p>
<p><a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code><span class="mtk17">Navigation</span>.<span class="mtk19">MODE</span>.<span class="mtk19">REPLACE</span></code></a> makes this perform the same operation as <code class="mtk19">BEFOREEND</code>.</p>
</section>
<section class="md param">
<h2><code class="mtk19">BEFOREBEGIN</code></h2>
<p><a href="/docs/v3.1.5/Reference/JavaScript/MODE">Inserts/replaces</a> the DOM <strong>before</strong> the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element with the contents of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code>href</code></a> from a <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> instance.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<p>No examples available.</p>
</section>
</main>

View file

@ -0,0 +1,41 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>Navigation.TARGET</h1>
<p>A static object of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> that alters where the contents of a navigation should be placed relative to the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element element for <a href="/docs/v3.1.5/Reference/JavaScript/navigate"><code>.navigate()</code></a>.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/target/description") ?>
</section>
<section>
<h1>Properties</h1>
</section>
<section class="md param">
<h2 ><code class="mtk19">TOP</code></h2>
<p>The inner DOM of the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element will be <strong>replaced</strong> with the contents of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code>href</code></a> from a <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> instance.</p>
<p>This is the default behavior when the <code>vv-shell</code> element (top navigation) is navigated.</p>
<p>Setting this parameter on a <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element that isn't the <code>vv-shell</code> element has the same effect as a normal top navigation. The target is "ignored".</p>
</section>
<section class="md param">
<h2><code class="mtk19">SELF</code></h2>
<p>The contents of the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element will be navigated.</p>
<p>This is the default behavior when an element that <strong>isn't</strong> the <code>vv-shell</code> is navigated.</p>
<p>Setting this parameter on a <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element that is the <code>vv-shell</code> (top navigation) has the same effect as <code class="mtk19">TOP</code>.</p>
</section>
<section class="md param">
<h2><code class="mtk19">BLANK</code></h2>
<p>Performs the browser-default behavior for opening links in a new window. The <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element is ignored.</p>
</section>
<section class="md param">
<h2><code class="mtk19">PARENT</code></h2>
<p>The closest <code>HTMLElement</code> to the <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element with a <code>vv-page</code> property present will be navigated. If no parent element with that attribute is found, the <code>vv-shell</code> element (top navigation) will be navigated.</p>
<p>Setting this parameter on a <a href="/docs/v3.1.5/Reference/JavaScript/navigate#target"><code>target</code></a> element that is the <code>vv-shell</code> (top navigation) has the same effect as <code class="mtk19">TOP</code>.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<p>No examples available.</p>
</section>
</main>

View file

@ -0,0 +1,29 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>.abort</h1>
<p>Abort a Vegvisir navigation in action.</p>
<p>This is an instance property of <code>vegvisir.Navigation</code>.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/abort/description") ?>
</section>
<section>
<h1>Return value</h1>
</section>
<section>
<h3><code class="mtk17">AbortController</code></h3>
<p>Returns an instance of <a href="https://developer.mozilla.org/en-US/docs/Web/API/AbortController"><code class="mtk17">AbortController</code></a>.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<h2>Abort a navigation in progress</h2>
<p>In this example we will perform a simple programmatic Vegvsir navigation and abort it immediately.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/abort/example_abort") ?>
</section>
</main>

View file

@ -0,0 +1,22 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>Navigation.bindElements()</h1>
<p>Static method on the <code class="mtk17">Navigation</code> class.</p>
<p>Calling this method will trigger an automatic binding of anchor tags that haven't been bound yet.</p>
<p>SSR anchor tags are automatically bound. This method should be called after you've added anchor tags dynamically with JavaScript.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/bindElements/description") ?>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<h2>Binding an anchor tag added programmatically</h2>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/bindElements/example_bind") ?>
</section>
</main>

View file

@ -0,0 +1,24 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>Navigation.constructor</h1>
<p>Initialize a new Vegvisir soft-navigation programmatically.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/constructor/description") ?>
</section>
<section>
<h1>Return value</h1>
</section>
<section>
<h3><code class="mtk17">Navigation</code></h3>
<p>Returns an instance of <code class="mtk17">Navigation</code> which can then be excuted by chaining <a href="/docs/v3.1.5/Reference/JavaScript/navigate"><code>.<span class="mtk16">navigate</span>()</code></a>.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<p>No examples available.</p>
</section>
</main>

View file

@ -0,0 +1,10 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section class="md">
<container>
<h1>JavaScript Reference</h1>
<p>Vegvisir will automatically find and bind <a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement"><code>HTMLAnchorElement</code></a> tags and perform soft-navigation between pages on the same <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin" target="_blank">origin</a>.</p>
<p>The <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code>Navigation</code></a> lets you interact with, and expand Vegvisirs front-end behavior.</p>
</container>
</section>
</main>

View file

@ -0,0 +1,55 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>.navigate()</h1>
<p></p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/navigate/description") ?>
</section>
<section>
<h1>Parameters</h1>
</section>
<section class="md param">
<h3><code class="mtk17">HTMLElement</code> | <code class="mtk17">String</code> | <code class="mtk6">null</code></h3>
<h2><code class="mtk10">target</code></h2>
<p>An element passed either by reference or a CSS selector passed as a string (if multiple elements match the selector; the first match will be navigated).</p>
<p>If null or no value is passed to this argument, the <a href="/docs/v3.1.5/Reference/JavaScript/Env"><code>vv-shell</code></a> element will be navigated (top navigation).</p>
</section>
<section class="md param">
<h3><code class="mtk17">String</code></h3>
<h2><code class="mtk10">position</code></h2>
<p>A <a href="/docs/v3.1.5/Reference/JavaScript/POSITION">Navigation.POSITION</a> string which will determine where content from the navigated page should be injected relative to <code class="mtk10">target</code>.</p>
</section>
<section class="md param">
<h3><code class="mtk17">String</code></h3>
<h2><code class="mtk10">mode</code></h2>
<p>A <a href="/docs/v3.1.5/Reference/JavaScript/MODE">Navigation.MODE</a> string which will determine how content from the navigated page should be injected relative to <code class="mtk10">target</code>.</p>
</section>
<section>
<h1>Return value</h1>
</section>
<section>
<h3><code class="mtk17">Promise</code></h3>
<p>Returns a Promise that will resolve when the navigated page has been injected sucessfully, or rejects if the navigation failed <strong>or</strong> if the navigation was aborted with <a href="/docs/v3.1.5/Reference/JavaScript/abort"><code>Navigation.abort</code></a></p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<h2>Top navigation</h2>
<p>Navigate the <code>vv-shell</code> element to another page (top navigation).</p>
<p>Remember that anchor tags with href's on the same origin are automatically navigated this way.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/navigate/example_shell_navigate") ?>
</section>
<section>
<h2>Navigating an element</h2>
<p>Simple programmatic navigation of an element.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/navigate/example_element_navigate") ?>
</section>
</main>

View file

@ -0,0 +1,55 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>Navigation.options</h1>
<p>An object containing parameters that can be changed to alter the behavior of a Vegvisir <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a>.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/JS/options/description") ?>
</section>
<section>
<h1>Properties</h1>
</section>
<section class="md param">
<h3><code class="mtk6">bool</code></h3>
<h2><code class="mtk10">pushHistory</code></h2>
<p>Flag which when set to:</p>
<ol>
<li>
<code class="mtk6">true</code>
<p>Will cause navigations performed on an instance of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> to push to the History stack and update the browser pathname.</p>
</li>
<li>
<code class="mtk6">false</code>
<p>Will cause a "silent" navigation on an instance of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> that won't update the broweser History stack and won't change the browser pathname.</p>
</li>
</ol>
<p>The default setting for this property is:</p>
<ul>
<li><code class="mtk6">true</code> when the <a href="/docs/v3.1.5/Reference/JavaScript/Env">vv-shell</a> (top navigation) is navigated.</li>
<li><code class="mtk6">false</code> when an element that <strong>isn't</strong> the <a href="/docs/v3.1.5/Reference/JavaScript/Env">vv-shell</a> element is navigated.</li>
</ul>
</section>
<section class="md param">
<h3><code class="mtk6">bool</code></h3>
<h2><code class="mtk10">carryRequestOptions</code></h2>
<p>Flag which when set to:</p>
<ol>
<li>
<code class="mtk6">true</code>
<p>Will cause navigations performed on an instance of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> to carry the <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods">request method</a> and <a href="https://developer.mozilla.org/en-US/docs/Web/API/Response/body">response body</a> that the initiator page received on load.</p>
</li>
<li class="default">
<code class="mtk6">false</code>
<p>Navigations performed on an instance of <a href="/docs/v3.1.5/Reference/JavaScript/constructor"><code class="mtk17">Navigation</code></a> will be sent as <code>GET</code> requests (without a request body).</p>
</li>
</ol>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<p>No examples available.</p>
</section>
</main>

View file

@ -0,0 +1,52 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>VV::css()</h1>
<p>Include a CSS file into a page which will be automatically minified and inlined.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/css/description") ?>
</section>
<section>
<h1>Parameters</h1>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">$pathname</code></h2>
<p>Path to a CSS stylehseet file.</p>
<p>Appending ".css" to the filename is optional. If omitted, the extension is infered.</p>
</section>
<section class="md param">
<h3><code class="mtk6">bool</code></h3>
<h2><code class="mtk10">$relative</code></h2>
<p>Flag which when set to:</p>
<ol>
<li class="default">
<code class="mtk6">true</code>
<p>Will make <code class="mtk10">$pathname</code> look for a CSS file relative to <a href="/docs/v3.1.5/Reference/Env#root_path"><code>root_path</code></a>.</p>
</li>
<li>
<code class="mtk6">false</code>
<p>Will make <code class="mtk10">$pathname</code> look for a CSS file relative to the root of the whole filesystem.</p>
</li>
</ol>
</section>
<section>
<h1>Return value</h1>
</section>
<section>
<h3><code class="mtk6">string</code></h3>
<p>Returns a minified version of the included stylesheet as a string. If a stylesheet can not be found at <code class="mtk10">$pathname</code>, an empty string is returned.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<h2>Importing a stylesheet</h2>
<p>In this example we're importing a stylesheet from <code>/public/assets/css/style.css</code> relative from <a href="/docs/v3.1.5/Reference/Env#root_path"><code>root_path</code></a>.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/css/example_import") ?>
</section>
</main>

View file

@ -0,0 +1,52 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>VV::embed()</h1>
<p>Inline the contents of any file.</p>
<p>This can be very useful for bundling SVGs, plaintext files, HTML, and more for faster page loading.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/embed/description") ?>
</section>
<section>
<h1>Parameters</h1>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">$pathname</code></h2>
<p>Path to an asset to inline.</p>
</section>
<section class="md param">
<h3><code class="mtk6">bool</code></h3>
<h2><code class="mtk10">$relative</code></h2>
<p>Flag which when set to:</p>
<ol>
<li class="default">
<code class="mtk6">true</code>
<p>Will make <code class="mtk10">$pathname</code> look for a file relative to <a href="/docs/v3.1.5/Reference/Env#root_path"><code>root_path</code></a>.</p>
</li>
<li>
<code class="mtk6">false</code>
<p>Will make <code class="mtk10">$pathname</code> look for a file relative to the root of the whole filesystem.</p>
</li>
</ol>
</section>
<section>
<h1>Return value</h1>
</section>
<section>
<h3><code class="mtk6">string</code></h3>
<p>Returns the contents of a file passed to <code class="mtk10">$pathname</code> as a string. If a file can not be found at <code class="mtk10">$pathname</code>, an empty string is returned.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<h2>Inlining an SVG icon</h2>
<p>In this example we will be inlining an SVG icon from <code>/public/assets/icon.svg</code> directly into our page as if it were hardcoded.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/embed/example_import") ?>
</section>
</main>

View file

@ -0,0 +1,51 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>VV::include()</h1>
<p>Inject the compiled output of another Vegvisir page (or other PHP script).</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/include/description") ?>
</section>
<section>
<h1>Parameters</h1>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">$pathname</code></h2>
<p>Path to another Vegvisir page or other PHP file.</p>
</section>
<section class="md param">
<h3><code class="mtk6">bool</code></h3>
<h2><code class="mtk10">$relative</code></h2>
<p>Flag which when set to:</p>
<ol>
<li class="default">
<code class="mtk6">true</code>
<p>Will make <code class="mtk10">$pathname</code> look for a source file relative to <a href="/docs/v3.1.5/Reference/Env#root_path"><code>root_path</code></a>.</p>
</li>
<li>
<code class="mtk6">false</code>
<p>Will make <code class="mtk10">$pathname</code> look for a source file relative to the root of the whole filesystem.</p>
</li>
</ol>
</section>
<section>
<h1>Return value</h1>
</section>
<section>
<h3><code class="mtk6">string</code></h3>
<p>Returns a minified version of the included source file as a string. If a file can not be found at <code class="mtk10">$pathname</code>, an empty string is returned.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<h2>Importing a code snippet into a page</h2>
<p>In this example we will be including a PHP file that contains reusable code (a banner) from <code>/snippets/banner.php</code> into a Vegvisir page <code>/public/index.php</code>.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/include/example_import") ?>
</section>
</main>

View file

@ -0,0 +1,6 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/description") ?>
</section>
</main>

View file

@ -0,0 +1,35 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>VV::init()</h1>
<p>Initialize the Vegvisir front-end.</p>
<p>Place this as close to the bottom of your <code>body</code> tag in your <code>shell_page</code> as possible.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/init/description") ?>
</section>
<section>
<h1>Parameters</h1>
</section>
<section class="md param">
<p>This method takes no parameters.</p>
</section>
<section>
<h1>Return value</h1>
</section>
<section>
<h3><code class="mtk6">string</code></h3>
<p>Returns a script tag with the compiled and minified JavaScript required to run the Vegvisir front-end.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<h2>Initializing a Vegvisir website</h2>
<p>In this example we will initialize a single-page website with the two required files to run a bare-bones Vegvisir website: <code>/public/index.php</code> and <code>/public/shell.php</code>.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/init/example_init") ?>
</section>
</main>

View file

@ -0,0 +1,52 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>VV::js()</h1>
<p>Include a JavaScript source file into a page which will be automatically minified and inlined.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/js/description") ?>
</section>
<section>
<h1>Parameters</h1>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">$pathname</code></h2>
<p>Path to a JavaScript source file.</p>
<p>Appending ".js" to the filename is optional. If omitted, the extension is infered.</p>
</section>
<section class="md param">
<h3><code class="mtk6">bool</code></h3>
<h2><code class="mtk10">$relative</code></h2>
<p>Flag which when set to:</p>
<ol>
<li class="default">
<code class="mtk6">true</code>
<p>Will make <code class="mtk10">$pathname</code> look for a JavaScript source file relative to <a href="/docs/v3.1.5/Reference/Env#root_path"><code>root_path</code></a>.</p>
</li>
<li>
<code class="mtk6">false</code>
<p>Will make <code class="mtk10">$pathname</code> look for a JavaScript source file relative to the root of the whole filesystem.</p>
</li>
</ol>
</section>
<section>
<h1>Return value</h1>
</section>
<section>
<h3><code class="mtk6">string</code></h3>
<p>Returns a minified version of the included JavaScript source file as a string. If a file can not be found at <code class="mtk10">$pathname</code>, an empty string is returned.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<h2>Importing a JavaScript source file</h2>
<p>In this example we're importing a JavaScript source file from <code>/public/assets/js/script.js</code> relative from <a href="/docs/v3.1.5/Reference/Env#root_path"><code>root_path</code></a>.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/js/example_import") ?>
</section>
</main>

View file

@ -0,0 +1,36 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>VV::root()</h1>
<p>Return an absolute path to any resource relative to <a href="/docs/v3.1.5/Reference/Env#root_path"><code>root_path</code></a>.</p>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/root/description") ?>
</section>
<section>
<h1>Parameters</h1>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">$pathname</code></h2>
<p>Path to any resource relative from <a href="/docs/v3.1.5/Reference/Env#root_path"><code>root_path</code></a>.</p>
<p>Passing an empty string or nothing to this method will return an absolute path to the root folder itself.</p>
</section>
<section>
<h1>Return value</h1>
</section>
<section>
<h3><code class="mtk6">string</code></h3>
<p>Returns a string with an absolute pathname from a relative pathname passed to <code class="mtk10">$pathname</code>.</p>
</section>
<hr>
<section>
<h1>Examples</h1>
</section>
<section>
<h2>Check if an SVG file exists before embedding</h2>
</section>
<section>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/PHP/VV/root/example_import") ?>
</section>
</main>

View file

@ -0,0 +1,10 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section class="md">
<container>
<h1>PHP Reference</h1>
<p>Vegvisir exposes a single global static class <code>VV</code> that can be used in any script/page loaded with Vegvisir.</p>
<p>This class contains various methods for importing, inlining assets, and returning pathnames.</p>
</container>
</section>
</main>

View file

@ -0,0 +1,89 @@
<style><?= VV::css("public/assets/css/pages/docs/aside") ?></style>
<aside>
<nav>
<a href="/docs/v3.1.5/Reference/Env"><button class="inline">
<p>Environment variables</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/vv-attributes"><button class="inline">
<p>'vv'-attributes</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</nav>
<div class="spacer"></div>
<p>PHP Reference</p>
<nav>
<a href="/docs/v3.1.5/Reference/PHP"><button class="inline">
<p>PHP</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/PHP/VV/css"><button class="inline sly">
<p>VV::css()</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/PHP/VV/embed"><button class="inline sly">
<p>VV::embed()</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/PHP/VV/include"><button class="inline sly">
<p>VV::include()</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/PHP/VV/init"><button class="inline sly">
<p>VV::init()</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/PHP/VV/js"><button class="inline sly">
<p>VV::js()</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/PHP/VV/root"><button class="inline sly">
<p>VV::root()</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</nav>
<div class="spacer"></div>
<p>JavaScript Reference</p>
<nav>
<a href="/docs/v3.1.5/Reference/JavaScript"><button class="inline">
<p>JavaScript</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/JavaScript/constructor"><button class="inline sly">
<p>Navigation.constructor</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/JavaScript/abort"><button class="inline sly">
<p>.abort</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/JavaScript/options"><button class="inline sly">
<p>.options</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/JavaScript/navigate"><button class="inline sly">
<p>.navigate()</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/JavaScript/MODE"><button class="inline sly">
<p>Navigation.MODE</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/JavaScript/TARGET"><button class="inline sly">
<p>Navigation.TARGET</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/JavaScript/EVENTS"><button class="inline sly">
<p>Navigation.EVENTS</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/JavaScript/POSITION"><button class="inline sly">
<p>Navigation.POSITION</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/JavaScript/bindElements"><button class="inline sly">
<p>Navigation.bindElements()</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</nav>
</aside>

View file

@ -0,0 +1,15 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section class="md">
<h1>Reference documents</h1>
<p>Here you'll find cheat sheets for Vegvisir's <code>VV</code> PHP static class, and the <code>vegvisir.Navigation</code> JavaScript class.</p>
<a href="/docs/v3.1.5/Reference/PHP"><button class="inline">
<p>PHP Reference sheet</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/v3.1.5/Reference/JavaScript"><button class="inline">
<p>JavaScript Reference sheet</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</section>
</main>

View file

@ -0,0 +1,4 @@
<style><?= VV::css("public/assets/css/pages/docs/layout") ?></style>
<?= VV::include("public/docs/header") ?>
<?= VV::include("public/docs/v3.1.5/Reference/aside") ?>
<script><?= VV::js("public/assets/js/pages/docs/layout") ?></script>

View file

@ -0,0 +1,42 @@
<?= VV::include("public/docs/v3.1.5/Reference/layout") ?>
<main>
<section>
<h1>Navigation attributes</h1>
<p>Vegvisir has a few attributes that can be added to elements that can be used to bind navigations and change navigation behavior without JavaScript.</p>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">vv</code></h2>
<p>This attribute can be added to <strong>any</strong> clickable HTML element to bind it like an anchor tag.</p>
<p>The value of this attribute should be a string with a pathname to the page that should be loaded.</p>
<p>An element with this attribute will be treated just like an anchor tag, which means (by default) the <code>vv-shell</code> will be navigated.</p>
<p>Note: If added to an anchor tag, the anchor <code>href</code> will be prefered - and the <code>vv</code> will be ignored.</p>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">vv-position</code></h2>
<p>A <a href="/docs/v3.1.5/Reference/JavaScript/POSITION"><code>Navigation.POSITION</code></a> string that determines where the contents of <code>vv</code> (or <code>href</code> on an anchor tag) should be injected relative to the element with this attribute.</p>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">vv-mode</code></h2>
<p>A <a href="/docs/v3.1.5/Reference/JavaScript/MODE"><code>Navigation.MODE</code></a> string that determines how the contents of <code>vv</code> (or <code>href</code> on an anchor tag) should be injected relative to the element with this attribute.</p>
</section>
<hr>
<section>
<h1>Wrapper attributes</h1>
<p>Vegvisir sets a few attributes on elements that wrap soft-navigated content. These attributes are created automatically when it's the first time an element is used as a wrapper.</p>
</section>
<section class="md param">
<h3><code class="mtk6">string</code></h3>
<h2><code class="mtk10">vv-page</code></h2>
<p>This attribute's value will be updated with the pathname of the page that was soft-navigated to.</p>
<p>The attribute is set when a navigation is <strong>initiated</strong>.</p>
</section>
<section class="md param">
<h3><code class="mtk6">bool</code></h3>
<h2><code class="mtk10">vv-loading</code></h2>
<p>The value of this attribute will be a string-boolean with a value of "true" or "false".</p>
<p>this attribute will be "true" when a navigation is initiated, and set to "false" when the contents of the target page has been fully loaded (DOM ready).</p>
</section>
</main>

View file

@ -0,0 +1,33 @@
<style><?= VV::css("public/assets/css/pages/docs/aside") ?></style>
<aside>
<nav>
<a href="/docs"><button class="inline">
<p>introduction</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/get-started"><button class="inline solid">
<p>get started guide</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</nav>
<div class="spacer"></div>
<p>Reference guides</p>
<nav>
<a href="/docs/Reference/PHP"><button class="inline">
<p>PHP Reference</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/Reference/JavaScript"><button class="inline">
<p>JavaScript Reference</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/Reference/Env"><button class="inline">
<p>Environement variables</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/Reference/vv-attributes"><button class="inline">
<p>'vv'-attributes</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</nav>
</aside>

View file

@ -0,0 +1,43 @@
<?= VV::include("public/docs/v3.1.5/layout") ?>
<main>
<section class="md">
<h1>Get Started with Vegvisir</h1>
<p>In this guide we will install Vegvisir from a template repository. I will be using a Debian Linux environment for this demonstration.</p>
</section>
<section class="md">
<h2>Prerequisites</h2>
<ul>
<li>PHP 8.3+</li>
<li>Composer</li>
<li>A web server</li>
</ul>
</section>
<section class="md">
<h2>1. Clone the template repository</h2>
<p>There is a template repository on Codeberg which you can clone or generate from which has a bare-bones website ready for us.</p>
<a href="https://codeberg.org/vegvisir/template" target="_blank"><button class="inline">
<p>Template repository</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</section>
<section class="md">
<h2>2. Run the install script</h2>
<p>The template repository has an <code>install.sh</code> file in its root directory which will install and set up our Vegvisir configuration for us.</p>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/get-started/run_install_script") ?>
</section>
<section class="md">
<h2>3. Configure your webserver</h2>
<p>In this demo we will be using <strong>NGINX</strong> as our web server, and <a href="https://packages.sury.org/php/"><strong>PHP-FPM</strong></a> (packaged by Ondřej Surý) as our FastCGI processor.</p>
<p>As long as you point <strong>all traffic</strong> to <code>/vegvisir/public/index.php</code> with PHP pass you should be fine with other web server programs too.</p>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/get-started/nginx") ?>
</section>
<section class="md">
<h2>4. Done!</h2>
<p>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!</p>
<p>Feel free to experiment or follow the reference guide for more information about each Vegvisir feature.</p>
<a href="/docs/v3.1.5/Reference"><button class="inline">
<p>Reference guide</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</section>
</main>

View file

@ -0,0 +1,19 @@
<?= VV::include("public/docs/v3.1.5/layout") ?>
<main>
<section class="md">
<h1>Introduction</h1>
<p>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 <a href="https://vlw.se/work/vlw/vegvisir">personal website</a>.</p>
<p>Adding a <a href="https://codeberg.org/vegvisir/vegvisir/releases">Vegvisir version number</a> after "/docs" in the pathname <code>/docs/vX.X.X/example-docs-page</code> lets you read the docs for a specific release.</p>
<?= VV::include("snippets/HTMLCodeDemoElement/HTMLCodeDemoElement?id=docs/v3.1.5/introduction_version") ?>
</section>
<section class="md">
<h1>Work in progress</h1>
<p>This website (and the framework itself) is a work in progress. I apologize for the rushed, incomplete, confusing documentation on this site. I will make an effort to update these pages as best as I can.</p>
</section>
<section class="md">
<h1>The basics</h1>
<p>The simple answer to what Vegvisir does is that it will automatically find and bind navigation handlers for all <code>HTMLAnchorElement</code>s on a website. If the anchor <code>href</code> points to a page on the same origin; a PHP file (containing HTML and native PHP templating) from the website's <code>public_path</code> will be automatically soft-navigated to.</p>
<p>Another thing that Vegvisir lets you do with those soft-navigated pages is to inject and minify assets such as <a href="/docs/v3.1.5/Reference/PHP/VV/css">CSS stylesheets</a>, <a href="/docs/v3.1.5/Reference/PHP/VV/js">JavaScript source files</a>, and other assets that <a href="/docs/v3.1.5/Reference/PHP/VV/embed">output text</a>.</p>
<p>And the last thing that Vegvisir will offer for you is <a href="/docs/v3.1.5/Reference/PHP/VV/include">embeding snippets of PHP code (or another page) into a page</a>.</p>
</section>
</main>

View file

@ -0,0 +1,86 @@
<?= VV::include("snippets/docs/v1.3.1/shell"); ?>
<main>
<section class="md">
<container>
<h1>Installation</h1>
<p>In this guide we will be installing Vegvisir on a Debian-based system with NGINX as the web server. The process should be similar for other configurations as well.</p>
<p><a href="/help">Please contact me if you need help</a></p>
</container>
</section>
<section class="md">
<container>
<h2>Prerequisites</h2>
<ul>
<li>PHP 8.0 or newer (PHP 8.3 is recommended)</li>
<li>A web server (NGINX is used in this guide)</li>
</ul>
</container>
</section>
<section class="md">
<container>
<h2>Step 1: Clone the repo</h2>
<p>Let's start by cloning Vegvisir to a folder. The code for Vegvisir will be separate from the code for your project.</p>
<?= Snippet::put("docs/installation/0", Snippet::PLAINTEXT) ?>
<p>I have cloned this into the folder <code>/var/www/vegvisir</code> but you can put it wherever you want.</p>
</container>
</section>
<section class="md">
<container>
<h2>Step 2: Install dependencies</h2>
<p>Vegvisir only has one dependency, let's <code>cd</code> into our folder and install it with <a href="https://getcomposer.org/" target="_blank">Composer</a>.</p>
<?= Snippet::put("docs/installation/1", Snippet::PLAINTEXT) ?>
</container>
</section>
<section class="md">
<container>
<h2>Step 3: Configure virtual host</h2>
<p>We will be pointing a virtual host to the <code>/public/index.php</code> file from the Vegvisir root directory.</p>
<p>Since your project files will live in a different directory, this can be set-and-forget.</p>
<?= Snippet::put("docs/installation/2", Snippet::PLAINTEXT) ?>
</container>
</section>
<section class="md">
<container>
<h2>Step 4: Create project folder</h2>
<p>We're almost done here. We want to create a separate folder which will hold our project files.</p>
<p>Let's create a folder <code>/var/www/my-website</code> as an example - you can put this wherever you want!</p>
<?= Snippet::put("docs/installation/3", Snippet::PLAINTEXT) ?>
</container>
</section>
<section class="md">
<container>
<h2>Step 5: Point Vegvisir to project folder</h2>
<p>Now let's finish up by pointing Vegvisir to the folder we just created.</p>
<p>Make a copy of the <code>.env.example.ini</code> file from Vegvisir's root directory and place it in the same spot as <code>.env.ini</code></p>
<?= Snippet::put("docs/installation/4", Snippet::PLAINTEXT) ?>
</container>
</section>
<section class="md">
<container>
<p>There is only one line we need to change inside the <code>.env.ini</code> file we just created. It should be the top most variable called <code>root_path</code>.</p>
<p>Change the value of this variable to an absolute path to your project <strong>root</strong> folder. In our case it will be <code>/var/www/my-website</code>.</p>
<?= Snippet::put("docs/installation/5", Snippet::PLAINTEXT) ?>
</container>
</section>
<section class="md">
<container>
<h2>Done!</h2>
<p>That's all there is to it. Restart your webserver if you haven't and navigate to your published website.</p>
<p>If everything worked correctly, you should see a default landing page with a summary.</p>
</container>
</section>
<hr>
<section class="md">
<container>
<h1>Static assets</h1>
<p>Vegvisir will automatically serve anything that isn't a <code>.php</code> file under <code>/public</code> in your project directory as a static asset. You can for example put your <code>robots.txt</code> file under <code>/public/robots.txt</code> and it will be returned as a <code>text/plain</code> document.</p>
<p>While this works fine for smaller assets, they still have to be passed through the PHP CGI. This process is a bit slower than serving assets with your web server directly - and might be a lot slower for larger files.</p>
<p>To fix this, let's add an optional <code>location</code> block to our NGINX configuration which will handle assets. The process should be similar for other web servers - <a href="/help">contact me if you need help</a>.</p>
</container>
</section>
<section class="md">
<container>
<p>Let's add the following <code>location</code> block to our NGINX virtual host that we set up in <a href="#asd">Step X</a>.</p>
</container>
</section>
</main>

View file

@ -0,0 +1,4 @@
<style><?= VV::css("public/assets/css/pages/docs/layout") ?></style>
<?= VV::include("public/docs/header") ?>
<?= VV::include("public/docs/v3.1.5/aside") ?>
<script><?= VV::js("public/assets/js/pages/docs/layout") ?></script>

View file

@ -24,22 +24,22 @@
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</div>
</button></a>
<a href="https://icellate-com.srv.vlw.se" target="_blank"><button class="inline">
<a href="https://vlw.se/work/archive?href=https://icellate.srv.vlw.se" target="_blank"><button class="inline">
<img src="/assets/media/img/icellate-com.avif">
<div>
<div>
<h3>icellate.com</h3>
<p>[Archived] Website for the Swedish bio-pharma start-up iCellate Medical.</p>
<p>Main website for the Swedish bio-pharma start-up iCellate Medical built completely with Vegvisir.</p>
</div>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</div>
</button></a>
<a href="https://genemate-se.srv.vlw.se" target="_blank"><button class="inline">
<a href="https://vlw.se/work/archive?href=https://genemate.srv.vlw.se" target="_blank"><button class="inline">
<img src="/assets/media/img/genemate-se.avif">
<div>
<div>
<h3>genemate.se</h3>
<p>[Archived] Website for the Swedish bio-pharma start-up iCellate Medical.</p>
<p>E-commerce and service website for Genemate by iCellate Medical in an older version of Vegvisir.</p>
</div>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</div>

View file

@ -26,9 +26,9 @@
<section id="navigate" class="split reverse">
<div class="text">
<h1>Navigate any element</h1>
<p>Sometimes you just want to update a portion of your website. That can be done <a href="/docs/Reference/JavaScript/navigate">programmatically with JavaScript</a> or directly in the markdown using the <a href=""><code>vv</code>&nbsp;attributes</a>.</p>
<p>Sometimes you just want to update a portion of your website. That can be done <a href="/docs/Reference/JavaScript/navigate">programmatically with JavaScript</a> or directly in the markdown using the <a href="/docs/Reference/vv-attributes"><code>vv</code>&nbsp;attributes</a>.</p>
<div class="buttons">
<a href="/docs/Reference/JavaScript"><button class="inline">
<a href="/docs/Reference/vv-attributes"><button class="inline">
<p>'vv' attributes</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
@ -43,7 +43,7 @@
<h1>..or include that page with the response</h1>
<p>Vevisir pages, snippets, and other PHP files can be inlined with the response using <code>VV::include</code>.</p>
<div class="buttons">
<a href="/docs/Reference/JavaScript"><button class="inline">
<a href="/docs/Reference/PHP/VV/include"><button class="inline">
<p>VV::include()</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>

View file

@ -15,14 +15,14 @@
<section id="softnav" class="split">
<div class="text">
<h1>Automatic soft navigation</h1>
<p>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.</p>
<p>Load the shell of your website once and soft-navigate between pages on the same host. Vegvisir will handle that automatically for you without any additional attributes, just use normal anchor tags.</p>
<div class="buttons">
<a href="/features"><button class="inline solid">
<p>more info</p>
<p>More info</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/Reference/JavaScript"><button class="inline">
<p>reference</p>
<p>Reference</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</div>
@ -34,14 +34,14 @@
<section id="assets" class="split reverse">
<div class="text">
<h1>Asset injection</h1>
<p>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.</p>
<p>Bundle page-specific CSS and JavaScript with your templating markdown. Vegvisir will import and minify CSS and JavaScript on the fly. The compiled result is returned in a single response.</p>
<div class="buttons">
<a href="/docs"><button class="inline solid">
<p>more info</p>
<p>More info</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
<a href="/docs/Reference/PHP/VV/css"><button class="inline">
<p>reference</p>
<p>Example reference</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</div>
@ -56,7 +56,7 @@
<p>No tracking, no telemetry, no spying, and a fully available source code licensed under GNU GPLv3. Vegvisir will always be free, libre software.</p>
<div class="buttons">
<a href="https://codeberg.org/vegvisir/vegvisir"><button class="inline">
<p>source code</p>
<p>Source code</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</div>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta property="og:title" content="Vegvisir"/>
<meta property="og:title" content="Vegvisir - A PHP and JavaScript web framework"/>
<meta property="og:type" content="website"/>
<meta property="og:description" content="A PHP and JavaScript Web Framework that handles navigation and routing, and nothing else."/>
<!--<meta property="og:image" content="https://vlw.se/assets/media/ogp.jpg"/>-->
@ -41,7 +41,7 @@
<style><?= VV::css("public/assets/css/syntax") ?></style>
<style><?= VV::css("public/assets/css/shell") ?></style>
<title>Vegvisir</title>
<title>Vegvisir - A PHP and JavaScript web framework</title>
<link rel="icon" href="/assets/media/logo.svg"/>
</head>
<body>
@ -84,7 +84,7 @@
<?= VV::embed("public/assets/media/icons/codeberg.svg") ?>
</button></a>
<a href="/docs/get-started"><button class="inline solid">
<p>get started</p>
<p>Get Started</p>
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
</button></a>
</nav>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">new</span><span class="mtk1">&nbsp;</span><span class="mtk17">Navigation</span><span class="mtk1">().</span><span class="mtk10">abort</span><span class="mtk1">&nbsp;</span><span class="mtk3">-</span><span class="mtk3">&gt;</span><span class="mtk1">&nbsp;</span><span class="mtk17">AbortController</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">const</span><span class="mtk1">&nbsp;</span><span class="mtk19">nav</span><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk6">new</span><span class="mtk1">&nbsp;</span><span class="mtk10">vegvisir</span><span class="mtk1">.</span><span class="mtk17">Navigation</span><span class="mtk1">(</span><span class="mtk12">"some/page"</span><span class="mtk1">);</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk5">//&nbsp;Abort&nbsp;initialized&nbsp;navigation</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk19">nav</span><span class="mtk1">.</span><span class="mtk10">abort</span><span class="mtk1">.</span><span class="mtk16">abort</span><span class="mtk1">();</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk5">//&nbsp;Navigate&nbsp;to&nbsp;URL&nbsp;if&nbsp;not&nbsp;aborted</span></span></div><div style="top:114px;height:19px;" class="view-line"><span><span class="mtk18">if</span><span class="mtk1">&nbsp;(</span><span class="mtk3">!</span><span class="mtk19">nav</span><span class="mtk1">.</span><span class="mtk10">abort</span><span class="mtk1">.</span><span class="mtk19">aborted</span><span class="mtk1">)&nbsp;{</span></span></div><div style="top:133px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">nav</span><span class="mtk1">.</span><span class="mtk16">navigate</span><span class="mtk1">();</span></span></div><div style="top:152px;height:19px;" class="view-line"><span><span class="mtk1">}</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk17">Navigation</span><span class="mtk1">.</span><span class="mtk16">bindElements</span><span class="mtk1">()&nbsp;</span><span class="mtk3">-</span><span class="mtk3">&gt;</span><span class="mtk1">&nbsp;</span><span class="mtk6">void</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">const</span><span class="mtk1">&nbsp;</span><span class="mtk19">element</span><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk10">document</span><span class="mtk1">.</span><span class="mtk16">createElement</span><span class="mtk1">(</span><span class="mtk12">"a"</span><span class="mtk1">);</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk19">element</span><span class="mtk1">.</span><span class="mtk10">href</span><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"/example-page"</span><span class="mtk1">;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk5">//&nbsp;Append&nbsp;a&nbsp;new&nbsp;anchor&nbsp;tag&nbsp;to&nbsp;the&nbsp;bottom&nbsp;of&nbsp;vv-she</span><span class="mtk5">ll</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk10">vegvisir</span><span class="mtk1">.</span><span class="mtk10">Navigation</span><span class="mtk1">.</span><span class="mtk10">shellElement</span><span class="mtk1">.</span><span class="mtk16">appendChild</span><span class="mtk1">(</span><span class="mtk19">element</span><span class="mtk1">);</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:114px;height:19px;" class="view-line"><span><span class="mtk5">//&nbsp;Bind&nbsp;the&nbsp;new&nbsp;element&nbsp;so&nbsp;we're&nbsp;soft-navigating&nbsp;t</span><span class="mtk5">hat&nbsp;element</span></span></div><div style="top:133px;height:19px;" class="view-line"><span><span class="mtk10">vegvisir</span><span class="mtk1">.</span><span class="mtk10">Navigation</span><span class="mtk1">.</span><span class="mtk16">bindElements</span><span class="mtk1">();</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">new</span><span class="mtk1">&nbsp;</span><span class="mtk17">Navigation</span><span class="mtk1">(</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk10">href</span><span class="mtk1">:&nbsp;</span><span class="mtk17">URL</span><span class="mtk3">|</span><span class="mtk17">String</span><span class="mtk3">|</span><span class="mtk6">null</span><span class="mtk1">,</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk10">options</span><span class="mtk3">?:</span><span class="mtk1">&nbsp;</span><a href="/docs/v3.1.5/Reference/JavaScript/options"><span class="mtk17">Navigation</span><span class="mtk1">.</span><span class="mtk10">options</span></a></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">)&nbsp;</span><span class="mtk3">-</span><span class="mtk3">&gt;</span><span class="mtk1">&nbsp;</span><span class="mtk6">this</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk1">{</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">STARTED</span><span class="mtk1">&nbsp;&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"navstarted"</span><span class="mtk1">,</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">FINISHED</span><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"navfinished"</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">}</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk1">{</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">REPLACE</span><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"replace"</span><span class="mtk1">,</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">INSERT</span><span class="mtk1">&nbsp;&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"insert"</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">}</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk1">.</span><span class="mtk16">navigate</span><span class="mtk1">(</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk10">target</span><span class="mtk1">:&nbsp;</span><span class="mtk17">HTMLElement</span><span class="mtk3">|</span><span class="mtk17">String</span><span class="mtk3">|</span><span class="mtk6">null</span><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><a href="/docs/v3.1.5/Reference/JavaScript/shellElement"><span class="mtk17">Navigation</span><span class="mtk1">.</span><span class="mtk10">shellElement</span></a><span class="mtk1">,</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk10">position</span><span class="mtk1">:&nbsp;</span><a href="/docs/v3.1.5/Reference/JavaScript/POSITION"><span class="mtk17">Navigation</span><span class="mtk1">.</span><span class="mtk19">POSITION</span></a><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><a href="/docs/v3.1.5/Reference/JavaScript/POSITION"><span class="mtk17">Navigation</span><span class="mtk1">.</span><span class="mtk19">POSITION</span><span class="mtk1">.</span><span class="mtk19">BEFOREEND</span></a><span class="mtk1">,</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk10">mode</span><span class="mtk1">:&nbsp;</span><a href="/docs/v3.1.5/Reference/JavaScript/MODE"><span class="mtk17">Navigation</span><span class="mtk1">.</span><span class="mtk19">MODE</span><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><a href="/docs/v3.1.5/Reference/JavaScript/MODE"><span class="mtk17">Navigation</span><span class="mtk1">.</span><span class="mtk19">MODE</span><span class="mtk1">.</span><span class="mtk19">REPLACE</span></span></a></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk1">)&nbsp;</span><span class="mtk3">-</span><span class="mtk3">&gt;</span><span class="mtk1">&nbsp;</span><span class="mtk17">Promise</span><span class="mtk3">&lt;</span><span class="mtk6">void</span><span class="mtk3">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">const</span><span class="mtk1">&nbsp;</span><span class="mtk19">nav</span><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk6">new</span><span class="mtk1">&nbsp;</span><span class="mtk10">vegvisir</span><span class="mtk1">.</span><span class="mtk16">Navigation</span><span class="mtk1">(</span><span class="mtk12">"/example-page"</span><span class="mtk1">);</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk5">//&nbsp;Navigate&nbsp;the&nbsp;passed&nbsp;&lt;article&gt;&nbsp;element&nbsp;to&nbsp;"publi</span><span class="mtk5">c/example-page"&nbsp;by&nbsp;element&nbsp;reference</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk19">nav</span><span class="mtk1">.</span><span class="mtk16">navigate</span><span class="mtk1">(</span><span class="mtk10">document</span><span class="mtk1">.</span><span class="mtk16">querySelector</span><span class="mtk1">(</span><span class="mtk12">"article"</span><span class="mtk1">));</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk5">//&nbsp;Navigate&nbsp;the&nbsp;first&nbsp;section&nbsp;inside&nbsp;the&nbsp;article&nbsp;e</span><span class="mtk5">lement&nbsp;element&nbsp;to&nbsp;"public/example-page"&nbsp;by&nbsp;CSS&nbsp;sel</span><span class="mtk5">ector</span></span></div><div style="top:114px;height:19px;" class="view-line"><span><span class="mtk19">nav</span><span class="mtk1">.</span><span class="mtk16">navigate</span><span class="mtk1">(</span><span class="mtk12">"article&nbsp;&gt;&nbsp;section:first-child"</span><span class="mtk1">);</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">new</span><span class="mtk1">&nbsp;</span><span class="mtk10">vegvisir</span><span class="mtk1">.</span><span class="mtk16">Navigation</span><span class="mtk1">(</span><span class="mtk12">"/example-page"</span><span class="mtk1">).</span><span class="mtk16">navigate</span><span class="mtk1">();</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk1">{</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">bool</span><span class="mtk1">&nbsp;</span><span class="mtk20 squiggly-inline-unnecessary">pushHistory</span><span class="mtk1">:&nbsp;</span><span class="mtk6">true</span><span class="mtk1">,</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">bool</span><span class="mtk1">&nbsp;</span><span class="mtk20 squiggly-inline-unnecessary">carryRequestOptions</span><span class="mtk1">:&nbsp;</span><span class="mtk6">false</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">}</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk1">{</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">AFTEREND</span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"afterend"</span><span class="mtk1">,</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">BEFOREEND</span><span class="mtk1">&nbsp;&nbsp;&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"beforeend"</span><span class="mtk1">,</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">AFTERBEGIN</span><span class="mtk1">&nbsp;&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"afterbegin"</span><span class="mtk1">,</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">BEFOREBEING</span><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"beforebegin"</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk1">}</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk1">{</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">TOP</span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"_top"</span><span class="mtk1">,</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">SELF</span><span class="mtk1">&nbsp;&nbsp;&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"_self"</span><span class="mtk1">,</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">BLANK</span><span class="mtk1">&nbsp;&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"_blank"</span><span class="mtk1">,</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk19">PARENT</span><span class="mtk1">&nbsp;</span><span class="mtk3">=</span><span class="mtk1">&nbsp;</span><span class="mtk12">"_parent"</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk1">}</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">&lt;?php</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">css</span><span class="mtk3">(</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">string</span><span class="mtk3">&nbsp;</span><span class="mtk10">$pathname</span><span class="mtk3">,</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">bool</span><span class="mtk3">&nbsp;</span><span class="mtk10">$relative</span><span class="mtk3">&nbsp;=&nbsp;</span><span class="mtk6">true</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;):&nbsp;</span><span class="mtk6">string</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">style</span><span class="mtk14">&gt;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">css</span><span class="mtk3">(</span><span class="mtk12">"public/assets/css/style.css"</span><span class="mtk3">)&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span><span class="mtk14">&lt;/</span><span class="mtk6">style</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">&lt;?php</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">embed</span><span class="mtk3">(</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">string</span><span class="mtk3">&nbsp;</span><span class="mtk10">$pathname</span><span class="mtk3">,</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">bool</span><span class="mtk3">&nbsp;</span><span class="mtk10">$relative</span><span class="mtk3">&nbsp;=&nbsp;</span><span class="mtk6">true</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;):&nbsp;</span><span class="mtk6">string</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">button</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">svg</span><span class="mtk1">&nbsp;</span><span class="mtk10">xmlns</span><span class="mtk1">=</span><span class="mtk12">"</span><span class="mtk12 detected-link">http://www.w3.org/2000/svg</span><span class="mtk12">"</span><span class="mtk1">&nbsp;</span><span class="mtk10">viewBox</span><span class="mtk1">=</span><span class="mtk12">"0&nbsp;0&nbsp;36&nbsp;22"</span><span class="mtk14">&gt;&lt;</span><span class="mtk6">g</span><span class="mtk14">&gt;&lt;</span><span class="mtk6">path</span><span class="mtk1">&nbsp;</span><span class="mtk10">class</span><span class="mtk1">=</span><span class="mtk12">"solid"</span><span class="mtk1">&nbsp;</span><span class="mtk10">d</span><span class="mtk1">=</span><span class="mtk12">"M12&nbsp;22&nbsp;0&nbsp;0h24Z"</span><span class="mtk14">/&gt;&lt;</span><span class="mtk6">path</span><span class="mtk1">&nbsp;</span><span class="mtk10">class</span><span class="mtk1">=</span><span class="mtk12">"stroke"</span><span class="mtk1">&nbsp;</span><span class="mtk10">d</span><span class="mtk1">=</span><span class="mtk12">"M12&nbsp;17.823&nbsp;20.63&nbsp;2H3.37L12&nbsp;17.823M12&nbsp;22&nbsp;0&nbsp;0h24L12</span><span class="mtk12">&nbsp;22Z"</span><span class="mtk14">/&gt;&lt;</span><span class="mtk6">g</span><span class="mtk1">&nbsp;</span><span class="mtk10">opacity</span><span class="mtk1">=</span><span class="mtk12">".5"</span><span class="mtk14">&gt;&lt;</span><span class="mtk6">path</span><span class="mtk1">&nbsp;</span><span class="mtk10">class</span><span class="mtk1">=</span><span class="mtk12">"solid"</span><span class="mtk1">&nbsp;</span><span class="mtk10">d</span><span class="mtk1">=</span><span class="mtk12">"M24&nbsp;22&nbsp;12&nbsp;0h24Z"</span><span class="mtk14">/&gt;&lt;</span><span class="mtk6">path</span><span class="mtk1">&nbsp;</span><span class="mtk10">class</span><span class="mtk1">=</span><span class="mtk12">"stroke"</span><span class="mtk1">&nbsp;</span><span class="mtk10">d</span><span class="mtk1">=</span><span class="mtk12">"M24&nbsp;17.823&nbsp;32.63&nbsp;2H15.37L24&nbsp;17.823M24&nbsp;22&nbsp;12&nbsp;0h24L</span><span class="mtk12">24&nbsp;22Z"</span><span class="mtk14">/&gt;&lt;/</span><span class="mtk6">g</span><span class="mtk14">&gt;&lt;/</span><span class="mtk6">g</span><span class="mtk14">&gt;&lt;/</span><span class="mtk6">svg</span><span class="mtk14">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">p</span><span class="mtk14">&gt;</span><span class="mtk1">Cool&nbsp;button</span><span class="mtk14">&lt;/</span><span class="mtk6">p</span><span class="mtk14">&gt;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">button</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">svg</span><span class="mtk1">&nbsp;</span><span class="mtk10">xmlns</span><span class="mtk1">=</span><span class="mtk12">"</span><span class="mtk12 detected-link">http://www.w3.org/2000/svg</span><span class="mtk12">"</span><span class="mtk1">&nbsp;</span><span class="mtk10">viewBox</span><span class="mtk1">=</span><span class="mtk12">"0&nbsp;0&nbsp;36&nbsp;22"</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">g</span><span class="mtk14">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">path</span><span class="mtk1">&nbsp;</span><span class="mtk10">class</span><span class="mtk1">=</span><span class="mtk12">"solid"</span><span class="mtk1">&nbsp;</span><span class="mtk10">d</span><span class="mtk1">=</span><span class="mtk12">"M12&nbsp;22&nbsp;0&nbsp;0h24Z"</span><span class="mtk14">/&gt;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">path</span><span class="mtk1">&nbsp;</span><span class="mtk10">class</span><span class="mtk1">=</span><span class="mtk12">"stroke"</span><span class="mtk1">&nbsp;</span><span class="mtk10">d</span><span class="mtk1">=</span><span class="mtk12">"M12&nbsp;17.823&nbsp;20.63&nbsp;2H3.37L12&nbsp;17.823M12&nbsp;22&nbsp;0&nbsp;0h24L12</span><span class="mtk12">&nbsp;22Z"</span><span class="mtk14">/&gt;</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">g</span><span class="mtk1">&nbsp;</span><span class="mtk10">opacity</span><span class="mtk1">=</span><span class="mtk12">".5"</span><span class="mtk14">&gt;</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">path</span><span class="mtk1">&nbsp;</span><span class="mtk10">class</span><span class="mtk1">=</span><span class="mtk12">"solid"</span><span class="mtk1">&nbsp;</span><span class="mtk10">d</span><span class="mtk1">=</span><span class="mtk12">"M24&nbsp;22&nbsp;12&nbsp;0h24Z"</span><span class="mtk14">/&gt;</span></span></div><div style="top:114px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">path</span><span class="mtk1">&nbsp;</span><span class="mtk10">class</span><span class="mtk1">=</span><span class="mtk12">"stroke"</span><span class="mtk1">&nbsp;</span><span class="mtk10">d</span><span class="mtk1">=</span><span class="mtk12">"M24&nbsp;17.823&nbsp;32.63&nbsp;2H15.37L24&nbsp;17.823M24&nbsp;22&nbsp;12&nbsp;0h24L</span><span class="mtk12">24&nbsp;22Z"</span><span class="mtk14">/&gt;</span></span></div><div style="top:133px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;/</span><span class="mtk6">g</span><span class="mtk14">&gt;</span></span></div><div style="top:152px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;/</span><span class="mtk6">g</span><span class="mtk14">&gt;</span></span></div><div style="top:171px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">svg</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">button</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">embed</span><span class="mtk3">(</span><span class="mtk12">"public/assets/icon.svg"</span><span class="mtk3">)&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">p</span><span class="mtk14">&gt;</span><span class="mtk1">Cool&nbsp;button</span><span class="mtk14">&lt;/</span><span class="mtk6">p</span><span class="mtk14">&gt;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">button</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">&lt;?php</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">include</span><span class="mtk3">(</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">string</span><span class="mtk3">&nbsp;</span><span class="mtk10">$pathname</span><span class="mtk3">,</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">bool</span><span class="mtk3">&nbsp;</span><span class="mtk10">$relative</span><span class="mtk3">&nbsp;=&nbsp;</span><span class="mtk6">true</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;):&nbsp;</span><span class="mtk6">string</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">section</span><span class="mtk1">&nbsp;</span><span class="mtk10">class</span><span class="mtk1">=</span><span class="mtk12">"banner"</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span><span class="mtk1">This&nbsp;snippet&nbsp;can&nbsp;be&nbsp;imported&nbsp;into&nbsp;any&nbsp;page&nbsp;with&nbsp;VV</span><span class="mtk1">::include()</span><span class="mtk14">&lt;/</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">p</span><span class="mtk14">&gt;</span><span class="mtk1">We&nbsp;can&nbsp;also&nbsp;use&nbsp;native&nbsp;PHP&nbsp;templating&nbsp;to&nbsp;perform&nbsp;S</span><span class="mtk1">SR.</span><span class="mtk14">&lt;/</span><span class="mtk6">p</span><span class="mtk14">&gt;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">p</span><span class="mtk14">&gt;</span><span class="mtk1">Did&nbsp;we&nbsp;get&nbsp;a&nbsp;foo?&nbsp;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk16">array_key_exists</span><span class="mtk3">(</span><span class="mtk12">"foo"</span><span class="mtk3">,&nbsp;</span><span class="mtk10">$_GET</span><span class="mtk3">)&nbsp;?&nbsp;</span><span class="mtk12">"yes&nbsp;we&nbsp;did"</span><span class="mtk3">&nbsp;:&nbsp;</span><span class="mtk12">"no&nbsp;we&nbsp;didn't"</span><span class="mtk3">&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span><span class="mtk1">.</span><span class="mtk14">&lt;/</span><span class="mtk6">p</span><span class="mtk14">&gt;</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">main</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">section</span><span class="mtk1">&nbsp;</span><span class="mtk10">class</span><span class="mtk1">=</span><span class="mtk12">"banner"</span><span class="mtk14">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span><span class="mtk1">This&nbsp;snippet&nbsp;can&nbsp;be&nbsp;imported&nbsp;into&nbsp;any&nbsp;page&nbsp;with&nbsp;VV</span><span class="mtk1">::include()</span><span class="mtk14">&lt;/</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">p</span><span class="mtk14">&gt;</span><span class="mtk1">We&nbsp;can&nbsp;also&nbsp;use&nbsp;native&nbsp;PHP&nbsp;templating&nbsp;to&nbsp;perform&nbsp;S</span><span class="mtk1">SR.</span><span class="mtk14">&lt;/</span><span class="mtk6">p</span><span class="mtk14">&gt;</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">p</span><span class="mtk14">&gt;</span><span class="mtk1">Did&nbsp;we&nbsp;get&nbsp;a&nbsp;foo?&nbsp;yes&nbsp;we&nbsp;did.</span><span class="mtk14">&lt;/</span><span class="mtk6">p</span><span class="mtk14">&gt;</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;/</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:114px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:133px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span><span class="mtk1">Hey&nbsp;psst!</span><span class="mtk14">&lt;/</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span></span></div><div style="top:152px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">p</span><span class="mtk14">&gt;</span><span class="mtk1">You&nbsp;can&nbsp;pass&nbsp;search&nbsp;parameters&nbsp;to&nbsp;included&nbsp;pages&nbsp;a</span><span class="mtk1">nd&nbsp;they&nbsp;will&nbsp;be&nbsp;accessible&nbsp;in&nbsp;their&nbsp;own&nbsp;scope&nbsp;unde</span><span class="mtk1">r&nbsp;the&nbsp;$_GET&nbsp;superglobal</span><span class="mtk14">&lt;/</span><span class="mtk6">p</span><span class="mtk14">&gt;</span></span></div><div style="top:171px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;/</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:190px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">main</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">main</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">include</span><span class="mtk3">(</span><span class="mtk12">"snippets/banner?foo=bar"</span><span class="mtk3">)&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span><span class="mtk1">Hey&nbsp;psst!</span><span class="mtk14">&lt;/</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">p</span><span class="mtk14">&gt;</span><span class="mtk1">You&nbsp;can&nbsp;pass&nbsp;search&nbsp;parameters&nbsp;to&nbsp;included&nbsp;pages&nbsp;a</span><span class="mtk1">nd&nbsp;they&nbsp;will&nbsp;be&nbsp;accessible&nbsp;in&nbsp;their&nbsp;own&nbsp;scope&nbsp;unde</span><span class="mtk1">r&nbsp;the&nbsp;$_GET&nbsp;superglobal</span><span class="mtk14">&lt;/</span><span class="mtk6">p</span><span class="mtk14">&gt;</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;/</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:114px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">main</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">&lt;?php</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">init</span><span class="mtk3">():&nbsp;</span><span class="mtk6">string</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;!</span><span class="mtk6">DOCTYPE</span><span class="mtk1">&nbsp;</span><span class="mtk10">html</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">html</span><span class="mtk1">&nbsp;</span><span class="mtk10">lang</span><span class="mtk1">=</span><span class="mtk12">"en"</span><span class="mtk14">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">head</span><span class="mtk14">&gt;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">meta</span><span class="mtk1">&nbsp;</span><span class="mtk10">charset</span><span class="mtk1">=</span><span class="mtk12">"UTF-8"</span><span class="mtk14">&gt;</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">meta</span><span class="mtk1">&nbsp;</span><span class="mtk10">name</span><span class="mtk1">=</span><span class="mtk12">"viewport"</span><span class="mtk1">&nbsp;</span><span class="mtk10">content</span><span class="mtk1">=</span><span class="mtk12">"width=device-width,&nbsp;initial-scale=1.0"</span><span class="mtk14">&gt;</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">title</span><span class="mtk14">&gt;</span><span class="mtk1">Document</span><span class="mtk14">&lt;/</span><span class="mtk6">title</span><span class="mtk14">&gt;</span></span></div><div style="top:114px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">head</span><span class="mtk14">&gt;</span></span></div><div style="top:133px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">body</span><span class="mtk14">&gt;</span></span></div><div style="top:152px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">vv-shell</span><span class="mtk14">&gt;</span></span></div><div style="top:171px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:190px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span><span class="mtk1">Hey!</span><span class="mtk14">&lt;/</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span></span></div><div style="top:209px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">p</span><span class="mtk14">&gt;</span><span class="mtk1">This&nbsp;index.php&nbsp;file&nbsp;present&nbsp;at&nbsp;the&nbsp;root&nbsp;of&nbsp;the&nbsp;"/p</span><span class="mtk1">ublic"&nbsp;directory&nbsp;will&nbsp;be&nbsp;loaded&nbsp;as&nbsp;this&nbsp;website's&nbsp;</span><span class="mtk1">main&nbsp;landing&nbsp;page.</span><span class="mtk14">&lt;/</span><span class="mtk6">p</span><span class="mtk14">&gt;</span></span></div><div style="top:228px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;/</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:247px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;/</span><span class="mtk6">vv-shell</span><span class="mtk14">&gt;</span></span></div><div style="top:266px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">script</span><span class="mtk14">&gt;</span><span class="mtk3">...</span><span class="mtk14">&lt;/</span><span class="mtk6">script</span><span class="mtk14">&gt;</span></span></div><div style="top:285px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">body</span><span class="mtk14">&gt;</span></span></div><div style="top:304px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">html</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span><span class="mtk1">Hey!</span><span class="mtk14">&lt;/</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">p</span><span class="mtk14">&gt;</span><span class="mtk1">This&nbsp;index.php&nbsp;file&nbsp;present&nbsp;at&nbsp;the&nbsp;root&nbsp;of&nbsp;the&nbsp;"/p</span><span class="mtk1">ublic"&nbsp;directory&nbsp;will&nbsp;be&nbsp;loaded&nbsp;as&nbsp;this&nbsp;website's&nbsp;</span><span class="mtk1">main&nbsp;landing&nbsp;page.</span><span class="mtk14">&lt;/</span><span class="mtk6">p</span><span class="mtk14">&gt;</span></span></div><div style="top: 57px; height: 19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk14">&lt;!</span><span class="mtk6">DOCTYPE</span><span class="mtk1">&nbsp;</span><span class="mtk10">html</span><span class="mtk14">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">html</span><span class="mtk1">&nbsp;</span><span class="mtk10">lang</span><span class="mtk1">=</span><span class="mtk12">"en"</span><span class="mtk14">&gt;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">head</span><span class="mtk14">&gt;</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">meta</span><span class="mtk1">&nbsp;</span><span class="mtk10">charset</span><span class="mtk1">=</span><span class="mtk12">"UTF-8"</span><span class="mtk14">&gt;</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">meta</span><span class="mtk1">&nbsp;</span><span class="mtk10">name</span><span class="mtk1">=</span><span class="mtk12">"viewport"</span><span class="mtk1">&nbsp;</span><span class="mtk10">content</span><span class="mtk1">=</span><span class="mtk12">"width=device-width,&nbsp;initial-scale=1.0"</span><span class="mtk14">&gt;</span></span></div><div style="top:114px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">title</span><span class="mtk14">&gt;</span><span class="mtk1">Document</span><span class="mtk14">&lt;/</span><span class="mtk6">title</span><span class="mtk14">&gt;</span></span></div><div style="top:133px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">head</span><span class="mtk14">&gt;</span></span></div><div style="top:152px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">body</span><span class="mtk14">&gt;</span></span></div><div style="top:171px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">&lt;?php</span><span class="mtk3">&nbsp;</span><span class="mtk5">//&nbsp;The&nbsp;landingpage&nbsp;"/public/index.php"&nbsp;will&nbsp;be&nbsp;loa</span><span class="mtk5">ded&nbsp;INTO&nbsp;this&nbsp;vv-shell&nbsp;element&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span></span></div><div style="top:190px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">vv-shell</span><span class="mtk14">&gt;&lt;/</span><span class="mtk6">vv-shell</span><span class="mtk14">&gt;</span></span></div><div style="top:209px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">init</span><span class="mtk3">()&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span></span></div><div style="top:228px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">body</span><span class="mtk14">&gt;</span></span></div><div style="top:247px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">html</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">&lt;?php</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">js</span><span class="mtk3">(</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">string</span><span class="mtk3">&nbsp;</span><span class="mtk10">$pathname</span><span class="mtk3">,</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">bool</span><span class="mtk3">&nbsp;</span><span class="mtk10">$relative</span><span class="mtk3">&nbsp;=&nbsp;</span><span class="mtk6">true</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;):&nbsp;</span><span class="mtk6">string</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">script</span><span class="mtk14">&gt;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">js</span><span class="mtk3">(</span><span class="mtk12">"public/assets/js/script.js"</span><span class="mtk3">)&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span><span class="mtk14">&lt;/</span><span class="mtk6">script</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">&lt;?php</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">root</span><span class="mtk3">(</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">string</span><span class="mtk3">&nbsp;</span><span class="mtk10">$pathname</span><span class="mtk3">&nbsp;=&nbsp;</span><span class="mtk12">""</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk3">&nbsp;&nbsp;&nbsp;&nbsp;):&nbsp;</span><span class="mtk6">string</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">&lt;?php</span><span class="mtk3">&nbsp;</span><span class="mtk18">if</span><span class="mtk3">&nbsp;(</span><span class="mtk16">is_file</span><span class="mtk3">(</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">root</span><span class="mtk3">(</span><span class="mtk12">"public/assets/my-icon.svg"</span><span class="mtk3">))):&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">embed</span><span class="mtk3">(</span><span class="mtk12">"public/assets/my-icon.svg"</span><span class="mtk3">)&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk6">&lt;?php</span><span class="mtk3">&nbsp;</span><span class="mtk18">endif</span><span class="mtk3">;&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk6">server</span><span class="mtk1">&nbsp;{</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk6">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;</span><span class="mtk7">80</span><span class="mtk1">;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk6">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;</span><span class="mtk1">_;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk5">#&nbsp;Replace&nbsp;&lt;path_to_repo&gt;&nbsp;with&nbsp;your&nbsp;directory&nbsp;path</span></span></div><div style="top:95px;height:19px;" class="view-line"><span><span class="mtk6">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;</span><span class="mtk1">&lt;path_to_repo&gt;/vegvisir/public;</span></span></div><div style="top:114px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:133px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">location</span><span class="mtk1">&nbsp;</span><span class="mtk3">~</span><span class="mtk1">&nbsp;</span><span class="mtk15">/*&nbsp;</span><span class="mtk1">{</span></span></div><div style="top:152px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try_files&nbsp;</span><span class="mtk1">/index.php&nbsp;=&nbsp;</span><span class="mtk7">503</span><span class="mtk1">;</span></span></div><div style="top:171px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:190px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;</span><span class="mtk1">snippets/fastcgi-php.conf;</span></span></div><div style="top:209px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk6">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_pass&nbsp;</span><span class="mtk1">unix:/run/php/php8.3-fpm.sock;</span></span></div><div style="top:228px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div><div style="top:247px;height:19px;" class="view-line"><span><span class="mtk1">}</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk1">./install.sh</span></span></div></div>

View file

@ -0,0 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk5">#&nbsp;Get&nbsp;the&nbsp;reference&nbsp;for&nbsp;VV::css()&nbsp;for&nbsp;the&nbsp;latest&nbsp;v</span><span class="mtk5">ersion&nbsp;of&nbsp;Vegvisir</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">/docs/Reference/PHP/VV/css</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span></span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk5">#&nbsp;Get&nbsp;the&nbsp;reference&nbsp;for&nbsp;VV::css()&nbsp;for&nbsp;a&nbsp;specific&nbsp;v</span><span class="mtk5">ersion&nbsp;of&nbsp;Vegvisir&nbsp;(v3.1.5&nbsp;for&nbsp;example)</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk1">/docs/v3.1.5/Reference/PHP/VV/css</span></span></div></div>

View file

@ -1 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">style</span><span class="mtk14">&gt;</span><span class="mtk9">h1</span><span class="mtk3">{</span><span class="mtk10">color</span><span class="mtk3">:</span><span class="mtk12">salmon</span><span class="mtk3">;}</span><span class="mtk9">button</span><span class="mtk3">{</span><span class="mtk10">padding</span><span class="mtk3">:</span><span class="mtk7">10px</span><span class="mtk3">;}</span><span class="mtk14">&lt;/</span><span class="mtk6">style</span><span class="mtk14">&gt;</span></span></div><div style="top: 19px; height: 19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top: 38px; height: 19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span><span class="mtk1">Hello&nbsp;world</span><span class="mtk14">&lt;/</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span></span></div><div style="top: 57px; height: 19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;/</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">script</span><span class="mtk14">&gt;</span><span class="mtk10">document</span><span class="mtk3">.</span><span class="mtk16">querySelector</span><span class="mtk3">(</span><span class="mtk12">"button"</span><span class="mtk3">).</span><span class="mtk16">addEventListener</span><span class="mtk3">(</span><span class="mtk12">"click"</span><span class="mtk3">,</span><span class="mtk10">event</span><span class="mtk6">=&gt;</span><span class="mtk10">event</span><span class="mtk3">.</span><span class="mtk10">target</span><span class="mtk3">.</span><span class="mtk10">innerText</span><span class="mtk3">=</span><span class="mtk12">"Button&nbsp;clicked!"</span><span class="mtk3">);</span><span class="mtk14">&lt;/</span><span class="mtk6">script</span><span class="mtk14">&gt;</span></span></div></div>
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">style</span><span class="mtk14">&gt;</span><span class="mtk9">h1</span><span class="mtk3">{</span><span class="mtk10">color</span><span class="mtk3">:</span><span class="mtk1 dyn-rule-3-0 colorpicker-color-decoration">&nbsp;</span><span class="mtk12">salmon</span><span class="mtk3">;}</span><span class="mtk9">button</span><span class="mtk3">{</span><span class="mtk10">padding</span><span class="mtk3">:</span><span class="mtk7">10px</span><span class="mtk3">;}</span><span class="mtk14">&lt;/</span><span class="mtk6">style</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">section</span><span class="mtk14">&gt;&lt;</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span><span class="mtk1">Hello&nbsp;world</span><span class="mtk14">&lt;/</span><span class="mtk6">h1</span><span class="mtk14">&gt;&lt;/</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">script</span><span class="mtk14">&gt;</span><span class="mtk10">document</span><span class="mtk3">.</span><span class="mtk16">querySelector</span><span class="mtk3">(</span><span class="mtk12">"button"</span><span class="mtk3">).</span><span class="mtk16">addEventListener</span><span class="mtk3">(</span><span class="mtk12">"click"</span><span class="mtk3">,</span><span class="mtk10">event</span><span class="mtk6">=&gt;</span><span class="mtk10">event</span><span class="mtk3">.</span><span class="mtk10">target</span><span class="mtk3">.</span><span class="mtk10">innerText</span><span class="mtk3">=</span><span class="mtk12">"Button&nbsp;clicked!"</span><span class="mtk3">);</span><span class="mtk14">&lt;/</span><span class="mtk6">script</span><span class="mtk14">&gt;</span></span></div></div>

View file

@ -1 +1 @@
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">style</span><span class="mtk14">&gt;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">css</span><span class="mtk3">(</span><span class="mtk12">"demo.css"</span><span class="mtk3">)&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span><span class="mtk14">&lt;/</span><span class="mtk6">style</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span><span class="mtk1">Hello&nbsp;world</span><span class="mtk14">&lt;/</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;/</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">script</span><span class="mtk14">&gt;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">css</span><span class="mtk3">(</span><span class="mtk12">"demo.js"</span><span class="mtk3">)&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span><span class="mtk14">&lt;/</span><span class="mtk6">script</span><span class="mtk14">&gt;</span></span></div></div>
<div><div style="top:0px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">style</span><span class="mtk14">&gt;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">css</span><span class="mtk3">(</span><span class="mtk12">"demo.css"</span><span class="mtk3">)&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span><span class="mtk14">&lt;/</span><span class="mtk6">style</span><span class="mtk14">&gt;</span></span></div><div style="top:19px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:38px;height:19px;" class="view-line"><span><span class="mtk1">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="mtk14">&lt;</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span><span class="mtk1">Hello&nbsp;world</span><span class="mtk14">&lt;/</span><span class="mtk6">h1</span><span class="mtk14">&gt;</span></span></div><div style="top:57px;height:19px;" class="view-line"><span><span class="mtk14">&lt;/</span><span class="mtk6">section</span><span class="mtk14">&gt;</span></span></div><div style="top:76px;height:19px;" class="view-line"><span><span class="mtk14">&lt;</span><span class="mtk6">script</span><span class="mtk14">&gt;</span><span class="mtk6">&lt;?=</span><span class="mtk3">&nbsp;</span><span class="mtk17">VV</span><span class="mtk3">::</span><span class="mtk16">css</span><span class="mtk3">(</span><span class="mtk12">"demo.js"</span><span class="mtk3">)&nbsp;</span><span class="mtk6">?</span><span class="mtk6">&gt;</span><span class="mtk14">&lt;/</span><span class="mtk6">script</span><span class="mtk14">&gt;</span></span></div></div>

@ -1 +1 @@
Subproject commit f66dc86d76dbb6739fef4dc6fbf941795a0fbc66
Subproject commit 1efa6d5b84c3a9652339dca6b8cc9a0f7e65f4c2