Skip to content
This repository was archived by the owner on Feb 9, 2025. It is now read-only.

Commit 16055a4

Browse files
committed
Split website off from main repo
1 parent f98a058 commit 16055a4

33 files changed

+262
-540
lines changed

.eleventy.js

+11-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
module.exports = function (eleventyConfig) {
2-
eleventyConfig.addPassthroughCopy("assets");
3-
eleventyConfig.addPassthroughCopy("src");
4-
eleventyConfig.addPassthroughCopy("demo");
2+
3+
eleventyConfig.addPassthroughCopy("assets/");
4+
eleventyConfig.addPassthroughCopy("src/");
5+
eleventyConfig.addPassthroughCopy("pages/demo/");
6+
7+
eleventyConfig.addPassthroughCopy("CNAME");
8+
eleventyConfig.addPassthroughCopy("_redirects");
9+
510
eleventyConfig.addWatchTarget("assets");
6-
eleventyConfig.addWatchTarget("demo");
11+
eleventyConfig.addWatchTarget("pages");
12+
713
return {
814
passthroughFileCopy: true,
915
dir: {
1016
includes: "assets/includes"
1117
}
1218
};
19+
1320
}

.gitattributes

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
* text=auto
2+
3+
# Linguist
4+
src/vers/ linguist-vendored
5+
*.nvss linguist-language=CSS

.github/workflows/build.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Build Eleventy
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-20.04
11+
strategy:
12+
matrix:
13+
node-version: [12.x]
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Use Node.js ${{ matrix.node-version }}
17+
uses: actions/setup-node@v1
18+
with:
19+
node-version: ${{ matrix.node-version }}
20+
- name: Install dependencies & build
21+
run: |
22+
npm ci
23+
npm run build
24+
- name: Deploy
25+
uses: peaceiris/actions-gh-pages@v3
26+
with:
27+
publish_dir: ./_site
28+
github_token: ${{ secrets.GITHUB_TOKEN }}

.gitignore

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
node_modules/
2-
_site/
3-
_development/
4-
*.local.*
2+
_site/

CNAME

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
novasheets.js.org

pages/txt/redirects.njk _redirects

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
---
2-
permalink: _redirects
3-
---
1+
/* /pages/:splat 200
2+
43
/docs/variables/default/ /docs/default-variables/
4+
55
/src/latest /src/novasheets.js
66
/src/stable /src/vers/novasheets-0.6.6.js
77
/src/stable/min /src/vers/novasheets-0.6.6.min.js
File renamed without changes.
File renamed without changes.

assets/css/main.nss assets/css/main.nvss

+7-7
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,13 @@ $(code|.css-char) {$(code color | 200 | 30%)}
6161
$(code|.html-tag) {$(code color | 200)}
6262
$(code|.html-attr-name) {$(code color | 180)}
6363
$(code|.html-attr-val) {$(code color | 35)}
64-
$(code|.nss-char) {$(code color | 200)}
65-
$(code|.nss-selector) {$(code color | 70)}
66-
$(code|.nss-var) {$(code color | 160)}
67-
$(code|.nss-var-param) {$(code color | 280 | 60%)}
68-
$(code|.nss-var-arg) {color: #fff;}
69-
$(code|.nss-arg) {$(code color | 280 | 60%)}
70-
$(code|.nss-arg-default) {$(code color | 330)}
64+
$(code|.nvss-char) {$(code color | 200)}
65+
$(code|.nvss-selector) {$(code color | 70)}
66+
$(code|.nvss-var) {$(code color | 160)}
67+
$(code|.nvss-var-param) {$(code color | 280 | 60%)}
68+
$(code|.nvss-var-arg) {color: #fff;}
69+
$(code|.nvss-arg) {$(code color | 280 | 60%)}
70+
$(code|.nvss-arg-default) {$(code color | 330)}
7171
$(code|.js-keyword) {$(code color | 200)}
7272
$(code|.js-class) {$(code color | 50)}
7373
$(code|.js-function) {$(code color | 50 | 70%)}

assets/images/logo.png

3.99 KB
Loading
+3-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<ul id="footer-content" class="flatlist">
22
<li id="footer-copyright">
3-
Copyright &copy; Nixinova 2020
3+
Copyright &copy; Nixinova 2021
44
</li>
55

66
<li id="footer-issue">
7-
<a href="https://github.com/Nixinova/NovaSheets" target="_blank" title="View GitHub respository">
7+
<a href="https://github.com/NovaSheets/NovaSheets" target="_blank" title="View GitHub respository">
88
View repository
99
</a>
1010
</li>
11-
</ul>
11+
</ul>

assets/includes/components/head.html

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
{% if not description %}{% set description = 'Documentation for Novasheets ' + title %}{% endif -%}
21
<meta charset="utf-8">
32
<title>{{title}} &ndash; NovaSheets</title>
43
<meta name="viewport" content="initial-scale=1.0, width=device-width">
5-
<meta name="description" content="{{description}}">
4+
<meta name="description" content="{{description or 'Documentation for Novasheets ' + title}}">
65
<meta name="keywords" content="novasheets,novasheets documentation,novasheets syntax,novasheets {{title|lower}},{{description|lower}}">
76
<link rel="icon" href="/assets/favicon.ico">
87
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto">
9-
<link rel="novasheet" href="/assets/css/main.nss">
8+
<link rel="novasheet" href="/assets/css/main.nvss">

assets/includes/layouts/base.njk

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en-NZ">
33
<head>
44
{% include "components/head.html" %}
5-
{% if nss %}<link rel="novasheet" href="/assets/css/{{nss}}.nss">{% endif %}
5+
{% if nvss %}<link rel="novasheet" href="/assets/css/{{nvss}}.nvss">{% endif %}
66
{% if js %}<script src="/assets/js/{{js}}.js"></script>{% endif -%}
77
{% if js2 %}<script src="/assets/js/{{js2}}.js"></script>{% endif -%}
88
<script src="/assets/js/headings.js"></script>

assets/includes/layouts/docs.njk

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en-NZ">
33
<head>
44
{% include "components/head.html" %}
5-
<link rel="novasheet" href="/assets/css/docs.nss">
5+
<link rel="novasheet" href="/assets/css/docs.nvss">
66
{% if js %}<script src="/assets/js/{{js}}.js"></script>{% endif -%}
77
{% if js2 %}<script src="/assets/js/{{js2}}.js"></script>{% endif -%}
88
<script src="/src/vers/novasheets-{% include "templates/version.txt" %}.js"></script>

assets/includes/templates/version-entry.njk

+4-6
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
{% set date %}{{ item.slice(6, 16) }}{% endset %}
1313
{% set docs %}{{ item.slice(17, 21) }}{% endset %}
1414
{% set hash %}{{ item.slice(22) }}{% endset %}
15-
{% set repo = "https://github.com/Nixinova/NovaSheets" %}
15+
{% set repo = "https://github.com/NovaSheets/NovaSheets" %}
1616
<tr {% if ver.slice(-1) == 0 %} style="background: #1114;" {% endif %}>
1717
<td>{{ver}}</td>
1818
<td>{{date}}</td>
@@ -26,12 +26,10 @@
2626
}}.md">Browse</a>
2727
{% elif docs == "wiki" %}
2828
<a href="{{repo}}/wiki/Syntax/{{hash}}">Wiki</a>
29-
{% elif docs == "docs" %}
30-
<a href="/docs/">Docs</a>
31-
{% elif docs == "cmit" %}
32-
<a href="{{repo}}/tree/{{hash}}/pages/docs">Browse</a>
33-
{% elif docs == "ldoc" %}
29+
{% elif docs == "gtag" %}
3430
<a href="{{repo}}/tree/{{ver}}/pages/docs">Browse</a>
31+
{% elif docs == "docs" %}
32+
<a href="/docs/">Site</a>
3533
{% endif %}
3634
</td>
3735
</tr>

assets/js/colouring.js

+18-18
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,28 @@ function colouriseCode() {
2222
.replace(/(?<!(?:\/\/|\/\*).*)[^\/|{}():;\n]+?(?=:(?!\/))/gm, wrap('$&', 'css-property')) // property
2323
.replace(/(?<!(?:\/\/|\/\*).*)(?<=:\s*)[^\/|{}:;\n]+?(?=;)/gm, wrap('$&', 'css-value')) // value
2424

25-
// NSS declarations
26-
.replace(/^\s*(@var)\s*(.+?)(?==.*$|$)/gm, wrap('$1', 'nss-char') + wrap(' $2', 'nss-var')) // var decl
27-
.replace(/(?<!(?:\/\/|\/\*).*)\$\[([^<]*?)(?:(\|)(.*?))?\]/gm, wrap('$[', 'nss-char') + wrap('$1', 'nss-arg') + wrap('$2', 'nss-char') + wrap('$3', 'nss-arg-default') + wrap(']', 'nss-char')) // param decl
28-
.replace(/@endvar/g, wrap('$&', 'nss-char')) // endvar
29-
.replace(/(@const)\s+(\S*)\s+(\S*)?/gi, wrap('$1', 'nss-char') + wrap(' $2', 'nss-var') + wrap(' $3', 'nss-arg')) // const
30-
31-
// NSS substitutions
32-
.replace(/(?<!(?:\/\/|\/\*).*)\$\(([^<]*?)(\|.*)?\)/gm, wrap('$(', 'nss-char') + wrap('$1', 'nss-var') + '$2' + wrap(')', 'nss-char')) // var subst
33-
.replace(/\|([^<]*?)=([^|]*?)/gm, wrap('|', 'nss-char') + wrap('$1', 'nss-var-param') + wrap('=', 'nss-char') + wrap('$2', 'nss-var-arg')) // arg decl
34-
.replace(/\$(lt)([\w.:+~>()]+)(gt)/g, wrap('$<', 'nss-char') + wrap('$2', 'css-selector') + wrap('>', 'nss-char')) // decl block subst
35-
.replace(/(lt)(\w*?)(gt)/g, wrap('$1', 'nss-char') + wrap('$2', 'css-property') + wrap('$3', 'nss-char')) // obj getter
36-
.replace(/!/g, wrap('$&', 'nss-char')) // obj subster
37-
38-
// NSS other
39-
.replace(/\$v|\$i/g, wrap('$&', 'nss-var')) // $v, $i
40-
.replace(/amp(lt)*|%(lt)*/g, wrap('$&', 'nss-selector')) // prev selectors
41-
.replace(/[|]/g, wrap('$&', 'nss-char'))
25+
// NovaSheets declarations
26+
.replace(/^\s*(@var)\s*(.+?)(?==.*$|$)/gm, wrap('$1', 'nvss-char') + wrap(' $2', 'nvss-var')) // var decl
27+
.replace(/(?<!(?:\/\/|\/\*).*)\$\[([^<]*?)(?:(\|)(.*?))?\]/gm, wrap('$[', 'nvss-char') + wrap('$1', 'nvss-arg') + wrap('$2', 'nvss-char') + wrap('$3', 'nvss-arg-default') + wrap(']', 'nvss-char')) // param decl
28+
.replace(/@endvar/g, wrap('$&', 'nvss-char')) // endvar
29+
.replace(/(@const)\s+(\S*)\s+(\S*)?/gi, wrap('$1', 'nvss-char') + wrap(' $2', 'nvss-var') + wrap(' $3', 'nvss-arg')) // const
30+
31+
// NovaSheets substitutions
32+
.replace(/(?<!(?:\/\/|\/\*).*)\$\(([^<]*?)(\|.*)?\)/gm, wrap('$(', 'nvss-char') + wrap('$1', 'nvss-var') + '$2' + wrap(')', 'nvss-char')) // var subst
33+
.replace(/\|([^<]*?)=([^|]*?)/gm, wrap('|', 'nvss-char') + wrap('$1', 'nvss-var-param') + wrap('=', 'nvss-char') + wrap('$2', 'nvss-var-arg')) // arg decl
34+
.replace(/\$(lt)([\w.:+~>()]+)(gt)/g, wrap('$<', 'nvss-char') + wrap('$2', 'css-selector') + wrap('>', 'nvss-char')) // decl block subst
35+
.replace(/(lt)(\w*?)(gt)/g, wrap('$1', 'nvss-char') + wrap('$2', 'css-property') + wrap('$3', 'nvss-char')) // obj getter
36+
.replace(/!/g, wrap('$&', 'nvss-char')) // obj subster
37+
38+
// NovaSheets other
39+
.replace(/\$v|\$i/g, wrap('$&', 'nvss-var')) // $v, $i
40+
.replace(/amp(lt)*|%(lt)*/g, wrap('$&', 'nvss-selector')) // prev selectors
41+
.replace(/[|]/g, wrap('$&', 'nvss-char'))
4242

4343
// HTML
4444
.replace(/(lt\/?)(\w+)(gt)?/gm, wrap('$&', 'html-tag'))
4545
.replace(/([\w-]+)=(".*?")(gt)?/gm, wrap('$1', 'html-attr-name') + '=' + wrap('$2', 'html-attr-val') + wrap('$3', 'html-tag'))
46-
//.replace(/(?<!(?:\/\/|\/\*).*)(\||\$|\(|\)|\[|\])/g, wrap('$&', 'nss-char'))
46+
//.replace(/(?<!(?:\/\/|\/\*).*)(\||\$|\(|\)|\[|\])/g, wrap('$&', 'nvss-char'))
4747
.replace(/[{}]/g, wrap('$&', 'css-char')) // brackets
4848

4949
// HTML re-fixing

license.md

-21
This file was deleted.

package.json

+7-21
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,18 @@
11
{
2-
"name": "novasheets",
3-
"version": "0.6.6",
4-
"description": "A simple, powerful, and versatile CSS preprocessor",
5-
"keywords": [
6-
"novasheets",
7-
"nss",
8-
"css",
9-
"css preprocessor",
10-
"preprocessor",
11-
"parser"
12-
],
13-
"files": [
14-
"src/novasheets.js"
15-
],
16-
"main": "src/novasheets.js",
17-
"bin": {
18-
"novasheets": "src/novasheets.js"
19-
},
2+
"description": "Documentation for NovaSheets, the simple and powerful CSS preprocessor",
3+
"scripts": {
4+
"build": "eleventy --pathprefix 'website'",
5+
"serve": "eleventy --serve"
6+
},
207
"repository": {
218
"type": "git",
22-
"url": "git+https://github.com/Nixinova/NovaSheets.git"
9+
"url": "git+https://github.com/NovaSheets/website.git"
2310
},
2411
"author": "Nixinova (https://nixinova.com)",
2512
"bugs": {
26-
"url": "https://github.com/Nixinova/NovaSheets/issues"
13+
"url": "https://github.com/NovaSheets/website/issues"
2714
},
2815
"homepage": "https://novasheets.nixinova.com",
29-
"license": "MIT",
3016
"devDependencies": {
3117
"@11ty/eleventy": "^0.11.1"
3218
}

pages/404.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
layout: layouts/base.njk
3+
permalink: /404.html
4+
title: 404 Not Found
5+
---
6+
<style>main {text-align: center; padding-top: 15%;}</style>
7+
8+
# Page Not Found
9+
10+
The page you are requesting does not exist.
11+
Please check your URL or go back to the [Home page](/).

pages/404.njk

-10
This file was deleted.

changelog.md pages/changelog.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
---
2-
{title: Changelog, layout: layouts/base.njk, js: colouring}
2+
layout: layouts/base.njk
3+
title: Changelog
4+
permalink: /changelog/
5+
js: colouring
36
---
47
# Changelog for NovaSheets
58
- [0.6.0](#060)[0.6.1](#061)[0.6.2](#062)[0.6.3](#063)[0.6.4](#064)[0.6.5](#065)[0.6.6](#066)
File renamed without changes.

demo/index.html pages/demo/index.html

+14-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
---
2+
permalink: /demo/
3+
---
14
<!doctype html>
25
<html lang="en">
36

47
<head>
5-
<title>NovaSheets Testing</title>
8+
<title>NovaSheets Demo</title>
69
<style data-keep="true">
710
h1, h2 {text-align: center; font-family: sans-serif;}
811
button {width: 30%; margin: 1px auto; border: 1px solid #222; font-size: 1.1em;}
@@ -20,28 +23,31 @@
2023
.property {color: #095d98;}
2124
.value {color: #b74401;}
2225
</style>
23-
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
2426
<link rel="icon" href="/assets/favicon.ico">
2527
<script src="../src/novasheets.js"></script>
2628
<script src="/assets/js/colouring.js"></script>
27-
<link id="import" rel="!novasheet" href="example.nss">
29+
<link id="import" rel="!novasheet" href="example.nvss">
2830
<script>
31+
const $ = x => document.querySelector(x), $$ = x => document.querySelectorAll(x);
2932
window.useDefault = false;
3033
function parseInput() {
31-
$('style:not([data-keep])').remove();
32-
let cssContent = $('#input').val();
34+
$$('style:not([data-keep])').forEach(item => item.remove());
35+
let cssContent = $('#input').value;
3336
let parsedContent = parseNovaSheets(cssContent);
34-
$('#output').html(parsedContent.replace(/}(?!\s*$)/g, '}\n'));
37+
$('#output').innerHTML = parsedContent.replace(/}(?!\s*$)/g, '}\n');
3538
parseNovaSheets();
3639
}
3740
function toggleDefault() {
3841
useDefault = !useDefault;
3942
document.getElementById('use-default').innerHTML = useDefault;
40-
$('#import').attr('rel', $('#import').attr('rel') === 'novasheet' ? '!novasheet' : 'novasheet');
43+
$('#import').setAttribute('rel', $('#import').getAttribute('rel') === 'novasheet' ? '!' : '' + 'novasheet');
4144
parseInput();
4245
}
4346
document.addEventListener("DOMContentLoaded", function () {
44-
$('#input').html($('#input').html().replace(/^\s*/gm,'').replace(/^\s*\n/, ''));
47+
let cleanInput = $('#input').innerHTML
48+
.replace(/^\s*/gm,'')
49+
.replace(/^\s*\n/, '')
50+
$('#input').innerHTML = cleanInput;
4551
parseInput();
4652
});
4753
</script>

pages/docs/comments.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ js: colouring
66
---
77
# NovaSheets Comments
88

9-
```nss
9+
```nvss
1010
// Single-line comment
1111
/* Multi-line comment */
1212
/*/ Static comment /*/

pages/docs/constants.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ js: colouring
66
---
77
# NovaSheets Parser Constants
88

9-
```nss
9+
```nvss
1010
@const <name> <value>
1111
```
1212

0 commit comments

Comments
 (0)