all repos — min @ ee1f4ceb80e12b8dcfb8070405cbf2eee00188be

A small but practical concatenative programming language.

Improved web site.
h3rald h3rald@h3rald.com
Sun, 16 Jul 2017 13:15:22 +0200
commit

ee1f4ceb80e12b8dcfb8070405cbf2eee00188be

parent

d6498e0fa33ca09253224e4ec93d4a10bde4e6f0

M site/assets/styles/min-lang.csssite/assets/styles/min-lang.css

@@ -1,6 +1,14 @@

+:root { + --primary-foreground:#89968B; + --primary-background:#262625; + --secondary-background: #474745; + --primary-accent:#4BAA76; + --secondary-accent:#3A4C4B; +} + body { - background-color: #FEFEFE; - color: #212121; + background-color: var(--primary-background); + color: var(--primary-foreground); font-weight: 300; font-feature-settings: "kern"; font-kerning: normal;

@@ -15,9 +23,35 @@ .pure-g [class *= "pure-u"] {

font-family: 'Lato', sans-serif; } +a, a:visited { + text-decoration: none; + color: var(--primary-accent); +} + header .luxbar-menu i { vertical-align: text-bottom; } + +.luxbar-menu-light { + background: var(--secondary-accent); + color: var(--primary-foreground); +} + +.luxbar-menu-light a, .luxbar-menu-light a:visited { + color: var(--primary-foreground); +} + +.luxbar-menu-light .active, .luxbar-menu-light .luxbar-item:hover, +.luxbar-menu-light .active a, .luxbar-menu-light .luxbar-item:hover a { + background: var(--primary-background); + color: var(--primary-accent); +} + +.pure-button-primary, .pure-button-selected, a.pure-button-primary, a.pure-button-selected { + background: var(--primary-accent); + color: var(--primary-background); +} + .pure-g > section { box-sizing: border-box;

@@ -71,109 +105,28 @@ dl {

margin-left: 1em; } -.note { - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - margin: 10px auto; - padding: 2px 4px 0 4px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); - color: #264c72; - background-color: #d8ebf8; - border: 1px solid #A4D1EF; - font-size: 90%; -} -.note a { - color: #264c72; -} -.note p:first-child { - font-weight: bold; - color: #264c72; -} .note p:first-child:before { font-family: "themify"; font-style: normal; font-weight: normal; font-size: 100%; - color: #264c72; content: "\e717" " "; } -.note a { - color: #132639; -} -.tip { - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - margin: 10px auto; - padding: 2px 4px 0 4px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); - color: #009926; - background-color: #d8f5cd; - border: 1px solid #B0EB99; - font-size: 90%; -} -.tip a { - color: #264c72; -} -.tip p:first-child { - font-weight: bold; - color: #009926; -} .tip p:first-child:before { font-family: "themify"; font-style: normal; font-weight: normal; font-size: 100%; - color: #009926; content: "\e64d" " "; } -.tip a { - color: #004d13; -} -.warning { - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - margin: 10px auto; - padding: 2px 4px 0 4px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); - color: #705400; - background-color: #FFEBAD; - border: 1px solid #FFDB70; - font-size: 90%; -} -.warning a { - color: #264c72; -} -.warning p:first-child { - font-weight: bold; - color: #705400; -} .warning p:first-child:before { font-family: "themify"; font-style: normal; font-weight: normal; font-size: 100%; - color: #705400; content: "\e6c5" " "; } -.warning a { - color: #241b00; -} -.sidebar { +.sidebar, .note, .tip, .warning { -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;

@@ -181,43 +134,35 @@ -webkit-border-radius: 3px;

-moz-border-radius: 3px; border-radius: 3px; margin: 10px auto; - padding: 2px 4px 0 4px; + padding: 2px 4px 2px 4px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); - color: #555; - background-color: #f8f8f8; - border: 1px solid #f8f8f8; + background-color: var(--secondary-background); font-size: 90%; } -.sidebar a { - color: #264c72; -} -.sidebar p:first-child { +.sidebar p:first-child, +.note p:first-child, +.tip p:first-child, +.warning p:first-child { font-weight: bold; - color: #555; } .sidebar p:first-child:before { font-family: "themify"; font-style: normal; font-weight: normal; font-size: 100%; - color: #555; content: "\e717" " "; } -.sidebar a { - color: #2f2f2f; -} .tip p, .warning p, .note p, .sidebar p { margin: 0 auto; line-height: 1.7em; } .sigil { - color: #009926; + color: var(--primary-foreground); } .sigil:before { - color: #009926; - background-color: #d8f5cd; + color: var(--primary-foreground); + background-color: var(--secondary-accent); padding: 0 3px 0; display: inline-block; width: auto;

@@ -228,14 +173,13 @@ border-radius: 2px;

-moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; padding: 1px 1px 1px 1px; - line-height: 95%; - width: 70px; + height: 25px; + width: 50px; text-align: center; margin-right: 3px; box-shadow: none;
M site/contents/_includes/_about.mdsite/contents/_includes/_about.md

@@ -33,4 +33,4 @@ I am a [someone](https://www.linkedin.com/in/fabiocevasco) who is passionate about technology and who _does not_ build new programming languages for a living.

## When? -min's source code [repository](https://github.com/h3rald/min) was created on November 8^th 2014. Do your maths.+min source code [repository](https://github.com/h3rald/min) was created on November 8^th 2014.
M site/contents/_includes/_defs_.mdsite/contents/_includes/_defs_.md

@@ -50,7 +50,7 @@

{{sgregex => [sgregex](https://github.com/snake5/sgregex).}} {#op => -<a id="op-$1"></> +<a id="op-$1"></a> ## $1 > %operator%
M site/contents/home.mdsite/contents/home.md

@@ -6,7 +6,7 @@ <div class="pure-g">

<section class="pitch pure-u-1 pure-u-md-2-3"> <em>min</em> is a functional, concatenative programming language with a minimalist syntax, a small but practical standard library, and an advanced - REPL. All packed in less than 1MB. + REPL. All packed in about 1MB. </section> <section class="centered pure-u-1 pure-u-md-1-3"> <a class="pure-button pure-button-primary" href="/download/"><i class="ti-download"></i> download min v{{$version}}</a><br />

@@ -31,21 +31,17 @@ <li>Includes an <strong>advanced REPL</strong> with auto-completion and history management.</li>

<li>Provides a lightweight <strong>module system</strong>.</li> <li>Provides <strong>sigils</strong> as syntactic sugar to access environment variables, quoting, defining and binding data, etc.</li> <li>Includes a small, useful <strong>standard library</strong> for common tasks.</li> - <li>Self-contained, statically compiled into single file, in <strong>less than 1MB</strong>.</li> + <li>Self-contained, statically compiled into single file.</li> </ul> </section> <section class="pure-u-1 pure-u-md-1-2"> <h2>Examples</h2> - <p>The following example shows how to find recursively all <code>.c</code> files in the current folder that are bigger than 100KB:</p> + <p>The following example shows how to find recursively all files in the current folder that were modified in the last hour:</p> <pre> <code> - . ls-r - ( - dup - "\.c$" match - (fsize 100000 >) dip - and - ) filter + . ls-r + (mtime now 3600 - >) + filter </code> </pre> <p>The following example shows how to calculate the factorial of 5 using the <code>linrec</code> combinator:</p>
M site/rules.minsite/rules.min

@@ -42,6 +42,16 @@ ) :process-md-content

( =meta + meta /path :path + " - Preprocessing $1" (path) => % notice + meta input-fread :contents + contents preprocess-css @contents + meta contents %contents #meta + meta +) :preprocess-css-content + +( + =meta meta /ext :ext meta (

@@ -50,11 +60,23 @@ ) case

) :process-content ;Main +assets ( + =meta + meta /ext :ext + meta + ( + ((".css" ext ==) ( + preprocess-css-content + output-fwrite + )) + ((true) (copy2output)) + ) case +) foreach + contents ( dup ( ((/id "^_includes" match) ()) ;Ignore files starting with underscore. ((true) (process-content set-destination output-fwrite)) ) case -) foreach -assets (copy2output) foreach +) foreach