new website

This commit is contained in:
Araq 2014-12-10 00:40:48 +01:00
commit 74fdd5c2ea
30 changed files with 1055 additions and 494 deletions

View file

@ -1,8 +1,6 @@
version 0.10 version 0.10
============ ============
Repetition renders the ridiculous reasonable.
- document 'converter' - document 'converter'
- document the tables module better - document the tables module better

View file

@ -418,14 +418,14 @@ proc main(c: var TConfigData) =
quit("[Error] cannot write file: " & outfile) quit("[Error] cannot write file: " & outfile)
removeFile(temp) removeFile(temp)
copyDir("web/assets", "web/upload/assets") copyDir("web/assets", "web/upload/assets")
buildJS("web/upload") #buildJS("web/upload")
buildNewsRss(c, "web/upload") buildNewsRss(c, "web/upload")
buildAddDoc(c, "web/upload") #buildAddDoc(c, "web/upload")
buildDocSamples(c, "web/upload") #buildDocSamples(c, "web/upload")
buildDoc(c, "web/upload") #buildDoc(c, "web/upload")
buildDocSamples(c, "doc") #buildDocSamples(c, "doc")
buildDoc(c, "doc") #buildDoc(c, "doc")
buildPdfDoc(c, "doc") #buildPdfDoc(c, "doc")
var c: TConfigData var c: TConfigData
initConfigData(c) initConfigData(c)

View file

@ -1,27 +1,24 @@
#! stdtmpl | standard #! stdtmpl | standard
#proc generateHTMLPage(c: var TConfigData, currentTab, content, rss: string): string = #proc generateHTMLPage(c: var TConfigData, currentTab, content, rss: string): string =
# result = "" # result = ""
<!doctype html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>$c.projectTitle</title> <title>$c.projectTitle</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="assets/style.css" /> <link rel="stylesheet" type="text/css" href="assets/style.css" />
<link rel="shortcut icon" href="http://reign-studios.net/philipwitte/nim/favicon.ico">
#if len(rss) > 0: #if len(rss) > 0:
<link href="$rss" title="Recent changes" type="application/atom+xml" rel="alternate"> <link href="$rss" title="Recent changes" type="application/atom+xml" rel="alternate">
#end fi #end if
</head> </head>
<body> <body>
<div id="site"> <header id="head">
<!-- site_head --> <div class="page-layout tall">
<div id="site_head"> <div id="head-logo"></div>
<div id="logo"></div> <a id="head-logo-link" href="http://reign-studios.net/philipwitte/nim/home.htm"></a>
</div> <nav id="head-links">
<!-- site_neck -->
<div id="site_neck">
#for i in 0.. c.tabs.len-1: #for i in 0.. c.tabs.len-1:
# var name = c.tabs[i].key # var name = c.tabs[i].key
# var t = c.tabs[i].val # var t = c.tabs[i].val
@ -32,48 +29,124 @@
#end if #end if
href="${t}.html" title = "$c.projectName - $name">$name</a> href="${t}.html" title = "$c.projectName - $name">$name</a>
#end for #end for
</nav>
</div> </div>
</header>
<!-- site_body --> # if currentTab == "index":
<div id="site_body"> <section id="neck" class="home">
# else:
<section id="neck">
# end
<div class="page-layout tall">
<div id="glow-arrow"></div>
<!-- sidebar_wrapper --> # if currentTab == "index":
<div id="sidebar_wrap"> <div id="slideshow">
<div id="sidebar"> <!-- slides -->
<div id="sidebar_head"></div> <div id="slide0" class="">
<h2>Latest News</h2> <div>
<h2>nim looks like this..</h2>
<pre><span class="cmt"># compute average line length</span>
<span class="kwd">var</span>
<span class="tab"> </span>sum = <span class="val">0</span>
<span class="tab end"> </span>count = <span class="val">0</span>
<span class="kwd">for</span> line <span class="kwd">in</span> stdin.lines:
<span class="tab"> </span>sum += line.len
<span class="tab end"> </span>count += <span class="val">1</span>
echo(<span class="val">"Average line length: "</span>,
<span class="kwd">if</span> count: sum / count <span class="kwd">else</span>: <span class="val">0</span>)
</pre>
</div>
<div>
<h2>..and this...</h2>
<pre><span class="cmt"># create and greet someone</span>
<span class="kwd">type</span> <span class="def">Person</span> = <span class="typ">object</span>
<span class="tab"> </span>name: <span class="typ">string</span>
<span class="tab end"> </span>age: <span class="typ">int</span>
<span class="kwd">proc</span> <span class="def">greet</span>(p:<span class="typ">Person</span>) =
<span class="tab"> </span>echo <span class="val">"Hi, I'm "</span>, p.name, <span class="val">"."</span>
<span class="tab end"> </span>echo <span class="val">"I am "</span>, p.age, <span class="val">" years old."</span>
<span class="kwd">var</span> p = <span class="typ">Person</span>(name:<span class="val">"Jon"</span>, age:<span class="val">18</span>)
p.greet() <span class="cmt"># or greet(p)</span>
</pre>
</div>
</div> <!-- slide0 -->
<div id="slide1" class="active">
#let quoteIdx = if c.quotations.hasKey(currentTab): currentTab else: "index"
<div class="quote-image"></div>
<p class="quote">
${c.quotations[quoteIdx].quote}
<br>
<b style="float: right">-- ${c.quotations[quoteIdx].author}</b>
</p>
<br/>
</div>
</div>
<div id="slideshow-nav">
<div id="slideControl0" onclick="slideshow_click(0)"></div>
<div id="slideControl1" onclick="slideshow_click(1)" class="active"></div>
</div>
# end
<aside id="sidebar">
# if len(c.links) > 0:
<h3>More Links</h3>
<div id="sidebar-links">
# for i in 0..c.links.len-1:
<a href="${c.links[i].val}" id="${c.links[i].id}">${c.links[i].key}</a>
# end for
</div>
# end if
<h3 class="blue">Latest News</h3>
<div id="sidebar-news">
# if len(c.ticker) > 0: # if len(c.ticker) > 0:
$c.ticker $c.ticker
# end if
# if len(c.links) > 0:
<h2>More Links</h2>
# for i in 0..c.links.len-1:
<a class="link" href="${c.links[i].val}" id="${c.links[i].id}">${c.links[i].key}</a>
# end for
# end if # end if
</div> </div>
</aside>
</div> </div>
<!-- page --> </section>
<div id="page">
#if c.quotations.hasKey(currentTab):
<div class="quote-image"></div>
<p class="quote">
${c.quotations[currentTab].quote}
<br>
<b style="float: right">-- ${c.quotations[currentTab].author}</b>
</p>
<br/>
#end if
<section id="body">
<div id="body-border"></div>
<div id="glow-line"></div>
<div class="page-layout">
<article id="content" class="page">
$content $content
</article>
</div>
</section>
<!--- #foot --->
<footer id="foot" class="home">
<div class="page-layout tall">
<div id="foot-links">
<div>
<h4>Documentation</h4>
<a href="documentation.html">Stable Documentation</a>
<!-- <a href="">Development Documentation</a> -->
<a href="https://github.com/Araq/Nimrod">Github Issues &amp; Requests</a>
</div>
<div>
<h4>Community</h4>
<a href="http://forum.nim-lang.org">User Forum</a>
<a href="http://webchat.freenode.net/?channels=nimlang">Online IRC</a>
<a href="http://irclogs.nim-lang.org/">IRC Logs</a>
</div> </div>
</div> </div>
<!-- site_foot --> <div id="foot-legal">
<div id="site_foot"> <h4>Written in Nim - Powered by <a href="#">Jester</a></h4>
<div id="legal">Copyright &copy; 2014 - Andreas Rumpf &amp; Contributors - All rights reserved - <a href="http://reign-studios.com/philipwitte/">Design by Philip Witte</a></div> Web Design by <a href="#">Philip Witte</a> &amp; <a href="#">Dominik Picheta</a><br>
Copyright © 2014 - <a href="#">Andreas Rumpf</a> &amp; <a href="#">Contributors</a>
</div> </div>
</div> </div>
</footer>
<script> <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@ -83,6 +156,40 @@
ga('create', 'UA-48159761-1', 'nim-lang.org'); ga('create', 'UA-48159761-1', 'nim-lang.org');
ga('send', 'pageview'); ga('send', 'pageview');
var timer;
var prevIndex = 0;
function setSlideShow(index, short) {
if (index > 1) index = 0;
for (var i = 0; i < 10; ++i) {
var x = document.getElementById("slide"+i);
if (!x) break;
x.className = "";
document.getElementById("slideControl"+i).className = "";
}
document.getElementById("slide"+index).className = "active";
document.getElementById("slideControl"+index).className = "active";
prevIndex = index;
startTimer(short ? 8000 : 32000);
}
function nextSlide() { setSlideShow(prevIndex + 1, true); }
function startTimer(t) { timer = setTimeout(nextSlide, t); }
function slideshow_enter() { clearTimeout(timer); }
function slideshow_exit () { startTimer(16000); }
function slideshow_click(index) {
clearTimeout(timer);
setSlideShow(index, false);
}
window.onload = function() {
var slideshow = document.getElementById("slideshow");
slideshow.onmouseenter = slideshow_enter;
slideshow.onmouseleave = slideshow_exit;
startTimer(8000);
};
</script> </script>
</body> </body>
</html> </html>

BIN
web/assets/images/bg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

BIN
web/assets/images/foot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 B

BIN
web/assets/images/head.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 724 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 979 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 971 B

After

Width:  |  Height:  |  Size: 107 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

View file

@ -1,94 +1,536 @@
* { cursor:default; } * { cursor:default; }
a, a * { cursor:pointer; text-decoration:none; } a, a * { cursor:pointer; }
html, body { html { margin:0; overflow-x:auto; }
body {
overflow-x:hidden;
min-width:1030px;
margin:0; margin:0;
padding:0; font:13pt "arial";
width:100%; background:#152534 url("images/bg.jpg") no-repeat fixed center top; }
height:100%;
background:#121220;
font:14px arial;
letter-spacing:1px;
line-height:22px;
}
#site { z-index:0; position:relative; margin:0 auto; width:960px; } pre { color:#5997AF;}
#site > dive { position:relative; } pre, pre * { cursor:text; }
pre .cmt { color:#6D6D6D; font-style:italic; }
pre .kwd { color:#43A8CF; font-weight:bold; }
pre .typ { color:#128B7D; font-weight:bold; }
pre .atr { color:#128B7D; font-weight:bold; font-style:italic; }
pre .def { color:#CAD6E4; font-weight:bold; font-style:italic; }
pre .prg { color:#854D6A; font-weight:bold; font-style:italic; }
pre .val { color:#8AB647; font-style:italic; }
pre .tab { border-left:1px dotted rgba(67,168,207,0.4); }
pre .end { background:url("images/tabEnd.png") no-repeat left bottom; }
/* site_head */ .tall { height:100%; }
#site_head { z-index:0; height:200px; } .pre { padding:0 5px; font:11pt monospace; background:rgba(255,255,255,.15); border-radius:3px; }
#logo { .page-layout { margin:0 auto; width:1000px; }
z-index:-1; .docs-layout { margin:0 40px; }
.talk-layout { margin:0 40px; }
.wide-layout { margin:0 auto; }
#head { height:100px; background:url("images/head.png") repeat-x bottom; }
#head.docs { margin-left:280px; background:rgba(0,0,0,.25) url("images/head-fade.png") no-repeat right top; }
#head > div { position:relative }
#head-logo {
position:absolute; position:absolute;
top:-35px; left:-390px;
left:-330px; top:0;
width:868px; width:917px;
height:334px; height:268px;
background:url("images/logo.png") no-repeat; pointer-events:none;
} background:url("images/logo.png") no-repeat; }
#head.docs #head-logo { left:-381px; position:fixed; }
#head.forum #head-logo { left:-370px; }
/* site_neck */ #head-logo-link {
#site_neck { z-index:1; float:left; width:100%; height:40px; background:url("images/site_neck.png") bottom no-repeat; } position:absolute;
display:block;
top:10px;
left:10px;
width:236px;
height:85px; }
#head.docs #head-logo-link { left:-260px; }
#head.forum #head-logo-link { left:30px; }
#site_neck > a { #head-links { position:absolute; right:0; bottom:13px; }
#head.docs #head-links,
#head.forum #head-links { right:20px; }
#head-links > a {
display:block; display:block;
float:left; float:left;
margin-top:3px; padding:10px 25px 25px 25px;
margin-right:10px; color:rgba(255,255,255,.5);
padding:4px 20px 0 20px; font-size:14pt;
height:28px; text-decoration:none;
color:#959a9b; letter-spacing:1px;
background:#394649; background:url("images/head-link.png") no-repeat center bottom;
font-size:18px; transition:
} color 0.3s ease-in-out,
text-shadow 0.4s ease-in-out; }
#head-links > a:hover,
#head-links > a.active {
color:#1cb3ec;
text-shadow:0 0 4px rgba(28,179,236,.8);
background-image:url("images/head-link_hover.png"); }
#site_neck > a:hover { #head-banner { width:200px; height:100px; background:#000; }
margin-top:0;
border-top:3px solid #1cb4ec;
}
#site_neck > a.active { #neck { z-index:0; height:40px; }
margin-top:0; #neck.home { height:370px; }
padding-top:7px; #neck > div { position:relative }
color:#fff;
background:#1cb4ec;
text-shadow:0 0 4px rgba(255,255,255,0.75);
}
#site_neck > a.active:hover { #glow-arrow {
border-top:none;
}
/* site_body */
#site_body { z-index:2; float:left; clear:both; width:100%; background:#d1dbe3; }
#page { position:relative; float:left; padding:20px 30px 50px 50px; width:620px; color:#343739; }
#page h1 { margin-top:40px; line-height: 28px; }
#page h2 { margin-top:40px; }
#page p { text-align:justify; }
#page .quote-image {
z-index:0;
position:absolute; position:absolute;
top:15px; top:-9px;
left:20px; left:0;
width:59px; right:-16px;
height:42px; height:48px;
background:url("images/quote.png") no-repeat; background:url("images/glow-arrow.png") no-repeat right; }
} glow-arrow.docs { left:280px; }
#page p.quote { #glow-line-vert {
position:relative; position:fixed;
color:#6187a2; top:100px;
left:280px;
width:3px;
height:844px;
background:url("images/glow-line-vert.png") no-repeat; }
#slideshow { position:absolute; top:10px; left:10px; width:700px; }
#slideshow > div { visibility:hidden; opacity:0; position:absolute; transition:visibility 0s linear 1s, opacity 1s ease-in-out; }
#slideshow > div.active { visibility:visible; opacity:1; transition-delay:0s; }
#slideshow > div.init { transition-delay:0s; }
#slideshow-nav { z-index:3; position:absolute; top:110px;; right:-12px; }
#slideshow-nav > div { margin:5px 0; width:23px; height:23px; background:url("images/slideshow-nav.png") no-repeat; }
#slideshow-nav > div:hover { background-image:url("images/slideshow-nav_active.png"); opacity:0.5; }
#slideshow-nav > div.active { background-image:url("images/slideshow-nav_active.png"); opacity:1; }
#slide0 { margin:30px 0 0 10px; }
#slide0 > div { float:left; width:320px; font:10pt monospace; }
#slide0 > div:first-child { margin:0 40px 0 0; }
#slide0 > div > h2 { margin:0 0 5px 0; color:rgba(162,198,223,.78); }
#slide0 > div > pre {
margin:0;
padding:15px 10px;
line-height:14pt;
background:rgba(0,0,0,.4);
border-left:8px solid rgba(0,0,0,.3);
box-shadow:1px 2px 16px rgba(28,180,236,.4); }
#slide1 { margin-top:50px; }
#slide1 > p {
padding:40px 20px 0 20px;
font-style:italic; font-style:italic;
letter-spacing:2px; color:rgba(162,198,223,.78);
word-spacing:1px; letter-spacing:1px;
} line-height:25pt;
background:url("images/quotes.png") top left no-repeat; }
#slide1 > div {
float:right;
margin-right:40px;
font-style:italic;
font-weight:bold;
color:rgba(93,155,199,.44); }
#page pre { #sidebar {
z-index:2;
position:absolute;
top:5px; right:0;
width:275px;
height:726px;
padding:210px 0 0 0;
background:url("images/sidebar.png") no-repeat; }
#sidebar > h3 { margin:0 30px 0 30px; color:rgba(255,255,255,.5); }
#sidebar > h3.blue { color:rgba(28,180,236,.5); }
#sidebar-links,
#sidebar-news {
margin:10px 30px 50px 30px;
padding:10px 0;
background:rgba(0,0,0,.6); }
#sidebar-links { box-shadow:1px 2px 12px rgba(255,255,255,.4); }
#sidebar-news { box-shadow:1px 2px 12px rgba(28,180,236,.6); }
#sidebar-links > a {
display:block;
margin-left:15px;
padding:12px 20px 12px 45px;
font-weight:bold;
text-decoration:none;
letter-spacing:1px;
color:rgba(255,255,255,.4);
transition:
color 0.1s ease-in-out,
text-shadow 0.2s ease-in-out; }
#sidebar-news > a { transition: color 0.3s ease-in-out; }
#sidebar-news > a > h4 { transition: color 0.1s ease-in-out, text-shadow 0.2s ease-in-out; }
#sidebar-links > a:hover { color:#fff; text-shadow:0 0 6px #fff; }
#sidebar-news > a { display:block; padding:15px; color:rgba(255,255,255,.4); text-decoration:none; }
#sidebar-news > a > h4 { margin:0 0 5px 0; color:rgba(28,180,236,.5); }
#sidebar-news > a:hover > h4 { margin:0 0 5px 0; color:rgba(28,180,236,.8); text-shadow:0 0 6px rgba(28,180,236,.6); }
#sidebar-news > a:hover { color:rgba(255,255,255,1); }
#sidebar-news > a.blue { color:rgba(28,180,236,.5); font-weight:bold; }
#sidebar-news > a.blue:hover { color:#fff; }
#link_forum { background:url("images/more-links_forum.png") no-repeat left center; }
#link_github { background:url("images/more-links_github.png") no-repeat left center; }
#link_editors { background:url("images/more-links_editors.png") no-repeat left center; }
#link_aporia { background:url("images/more-links_editors.png") no-repeat left center; }
#link_nimbuild { background:url("images/more-links_nimbuild.png") no-repeat left center; }
#overview-bg {
position:fixed;
top:0;
bottom:0;
left:0;
width:280px;
background:rgba(0,0,0,0.25); }
#overview {
z-index:3;
position:fixed;
overflow:auto;
top:115px;
bottom:20px;
left:20px;
width:245px; }
#overview::-webkit-scrollbar { width:5px; }
#overview::-webkit-scrollbar-track { border-radius:2px; background:rgba(255,255,255,.03); }
#overview::-webkit-scrollbar-thumb { border-radius:2px; background:rgba(28,179,236,.5); }
#overview > div { overflow:auto; margin-bottom:40px; }
#overview a {
display:block;
padding:0 10px;
margin:2px 5px 2px 0;
color:rgba(255,255,255,.6);
background:rgba(255,255,255,0.03);
border-radius:2px;
letter-spacing:1px;
text-decoration:none; }
#overview a:hover { color:#fff; background:rgba(255,255,255,0.05); }
#overview > .types a { border-left:2px solid rgba(28,179,236,.4); }
#overview > .procs a { border-left:2px solid rgba(255,223,53,.4); }
#overview > .iters a { border-left:2px solid rgba(255,134,53,.4); }
#overview > div > h4 {
margin:0 5px 10px 0;
padding:5px 10px;
letter-spacing:1px;
color:#fff;
border-left:2px solid #fff;
border-radius:2px;
background:rgba(255,255,255,0.1); }
#overview > .types h4 { color:#1cb3ec; border-color:#1cb3ec; }
#overview > .procs h4 { color:#ffdf35; border-color:#ffdf35; }
#overview > .iters h4 { color:#ff8635; border-color:#ff8635; }
#overview h5 {
color:rgba(28,179,236,.6);
margin:10px 0 5px 0;
padding:5px 5px;
letter-spacing:1px; }
#body { z-index:1; position:relative; background:rgba(220,231,248,.6); }
#body.docs { margin:0 40px 20px 320px; }
#body.forum { margin:0 40px 20px 40px; }
#body-border {
position:absolute;
top:-25px;
left:0;
right:0;
height:35px;
background:rgba(0,0,0,.25); }
#body-border-left {
position:absolute;
left:-25px;
top:-25px;
bottom:-25px;
width:35px;
background:rgba(0,0,0,.25); }
#body-border-right {
position:absolute;
right:-25px;
top:-25px;
bottom:-25px;
width:35px;
background:rgba(0,0,0,.25); }
#body-border-bottom {
position:absolute;
left:10px;
right:10px;
bottom:-25px;
height:35px;
background:rgba(0,0,0,.25); }
#body.docs #body-border,
#body.forum #body-border { left:10px; right:10px; }
#glow-line {
position:absolute;
top:-27px;
left:100px;
right:-25px;
height:3px;
background:url("images/glow-line.png") no-repeat left; }
#glow-line-bottom {
position:absolute;
bottom:-27px;
left:-25px;
right:100px;
height:3px;
background:url("images/glow-line2.png") no-repeat right; }
#content { padding:40px 0; line-height:150%; }
#content.page { width:680px; min-height:800px; padding-left:20px; }
#content h1 { font-size:20pt; letter-spacing:1px; color:rgba(0,0,0,.75); }
#content h2 { font-size:16pt; letter-spacing:1px; color:rgba(0,0,0,.7); margin-top:40px; }
#content p { text-align:justify; color:rgba(0,0,0,.8); }
#content a { color:#CEDAE9; text-decoration:none; }
#content a:hover { color:#fff; }
#content ul { padding-left:20px; }
#content li { margin-bottom:10px; text-align:justify; }
#body.docs #content > div { margin-top:40px; padding-top:40px; border-top:1px dashed rgba(0,0,0,.25); }
#body.docs #content > div:first-child { margin-top:0; padding-top:0; border:none; }
#body.docs #content > div > h3 {
color:#fff;
margin:0 0 10px 0;
padding:10px 20px;
letter-spacing:1px;
border-left:8px solid #fff;
border-radius:3px;
background:rgba(0,0,0,.7);
box-shadow:1px 3px 12px rgba(0,0,0,.4); }
#body.docs #content > #types-wrap > h3 { color:#1cb3ec; border-color:#1cb3ec; }
#body.docs #content > #procs-wrap > h3 { color:#ffdf35; border-color:#ffdf35; }
#body.docs #content > #iters-wrap > h3 { color:#ff8635; border-color:#ff8635; }
#body.docs #content > div > div > div {
overflow:auto;
margin:10px 0;
border-left:8px solid #fff;
border-radius:3px;
background:rgba(0,0,0,.1); }
#body.docs #content > #types-wrap > div > div { border-color:rgba(28,179,236,.5); }
#body.docs #content > #procs-wrap > div > div { border-color:rgba(255,223,53,.5); }
#body.docs #content > #iters-wrap > div > div { border-color:rgba(255,134,53,.5); }
#body.docs #content > #procs-wrap > div > div.overload-head { margin-bottom:0; }
#body.docs #content > #procs-wrap > div > div.overload-tail { margin-top:0; border-top:1px dashed rgba(255,223,53,.5); }
#body.docs #content > #procs-wrap > div > div.overload { margin-top:0; margin-bottom:0; border-top:1px dashed rgba(255,223,53,.5); }
#body.docs #content > #iters-wrap > div > div.overload-head { margin-bottom:0; }
#body.docs #content > #iters-wrap > div > div.overload-tail { margin-top:0; border-top:1px dashed rgba(255,134,53,.5); }
#body.docs #content > #iters-wrap > div > div.overload { margin-top:0; margin-bottom:0; border-top:1px dashed rgba(255,134,53,.5); }
#body.docs #content > div > div > p { margin:20px 10px 10px 10px; }
#body.docs #content > div > div > div > div { float:left; }
#body.docs #content > div > div > div > div.head { width:60%; }
#body.docs #content > div > div > div > div.data { width:40%; }
#body.docs #content > h1 > .symbol {
padding:0 8px;
border-radius:5px;
background:rgba(206,218,233,.4); }
#body.docs #content > div > div > div > div.head > .sign {
margin:0 10px 5px 10px;
padding:10px 10px 0 10px;
font-weight:bold;
border-bottom:1px dashed rgba(0,0,0,.25); }
#body.docs #content > div > div > div > div.head > .desc {
padding:0 20px 10px 20px;
color:rgba(0,0,0,.75); }
#body.docs #content > div > #types > div > div.head > .sign > .symbol {
padding:0 5px;
border-radius:3px;
background:rgba(28,179,236,.4); }
#body.docs #content > div > #procs > div > div.head > .sign > .symbol {
padding:0 5px;
border-radius:3px;
background:rgba(255,223,53,.3); }
#body.docs #content > div > #iters > div > div.head > .sign > .symbol {
padding:0 5px;
border-radius:3px;
background:rgba(255,134,53,.3); }
#body.docs #content > div > div > div > div.data > div {
margin:0 20px 5px 10px;
padding:10px 0 0 10px;
font-style:italic;
color:rgba(0,0,0,.6);
border-bottom:1px dashed rgba(0,0,0,.25); }
#body.docs #content > div > div > div > div.data > ul { margin:0; padding:0 10px; }
#body.docs #content > div > div > div > div.data > ul:last-child { margin-bottom:5px; padding-bottom:10px; }
#body.docs #content > div > div > div > div.data > ul .symbol { padding:0 5px; border-radius:3px; background:rgba(23,192,23,.25); }
#body.docs #content > div > div > div > div.data > ul.pragmas .symbol { background:rgba(106,50,145,.25); }
#body.docs #content > div > div > div > div.data > ul > li { margin:0; padding:0 10px; list-style:none; }
#body.docs #content pre {
overflow:auto;
margin:10px 0;
padding:15px 10px;
font-size:10pt;
font-style:normal;
line-height:14pt;
background:rgba(0,0,0,.75);
border-left:8px solid rgba(0,0,0,.3); }
#docs-sort { float:right; font-size:75%; }
#docs-sort > a {
cursor:default;
margin:0 0 0 10px;
padding:2px 10px;
border-radius:5px;
color:rgba(0,0,0,.25);
background:rgba(0,0,0,.1);
box-shadow:inset 0 1px 8px rgba(0,0,0,.4); }
#docs-sort > a:hover,
#docs-sort > a.active { color:#000; background:rgba(0,0,0,.2); }
#talk-heads { overflow:auto; margin:0 8px 0 8px; }
#talk-heads > div { float:left; font-size:120%; font-weight:bold; }
#talk-heads > .topic { width:55%; }
#talk-heads > .detail { width:15%; }
#talk-heads > .author { width:15%; }
#talk-heads > .reply { width:15%; }
#talk-heads > div > div { margin:0 10px 10px 10px; padding:0 10px 10px 10px; border-bottom:1px dashed rgba(0,0,0,0.4); }
#talk-heads > .topic > div { margin-left:0; }
#talk-heads > .author > div { margin-right:0; }
#talk-thread > div,
#talk-threads > div {
position:relative;
margin:5px 0;
overflow:auto;
border-radius:3px;
border:8px solid rgba(0,0,0,.8);
border-top:none;
border-bottom:none;
background:rgba(0,0,0,0.1); }
#talk-thread > div:nth-child(odd) { background:rgba(255,255,255,0.1); }
#talk-threads > div:nth-child(odd) { background:rgba(0,0,0,0.2); }
#talk-thread > div > div,
#talk-threads > div > div { float:left; }
#talk-thread > div > div > div,
#talk-threads > div > div > div { margin:10px 20px; }
#talk-threads > div > .topic { width:55%; }
#talk-threads > div > .reply { width:15%; overflow:hidden; }
#talk-threads > div > .detail { width:15%; overflow:hidden; }
#talk-thread > div > .author,
#talk-threads > div > .author {
position:absolute;
right:0;
top:0;
bottom:0;
width:15%;
overflow:hidden;
background:rgba(0,0,0,0.8); }
#talk-thread > div > .author a,
#talk-threads > div > .author a { color:#1cb3ec !important; }
#talk-thread > div > .author a:hover,
#talk-threads > div > .author a:hover { color:#fff !important; }
#talk-threads > div > .topic .pages { float:right; }
#talk-threads > div > .topic > div > a { font-weight:bold; }
#talk-threads > div > .detail > div { float:left; margin:0; }
#talk-threads > div > .detail > div > div { margin-left:20px; padding:10px 10px 10px 22px; }
#talk-threads > div > .detail > div { width:50%; }
#talk-threads > div > .detail > div:first-child > div { background:url("images/forum-views.png") no-repeat left; }
#talk-threads > div > .detail > div:last-child > div { background:url("images/forum-posts.png") no-repeat left; }
#talk-thread > div { margin:20px 0; min-height:150px; box-shadow:1px 3px 12px rgba(0,0,0,.4) }
#talk-thread > div > .author > div > .avatar { margin-top:20px; }
#talk-thread > div > .author > div > .avatar > img { box-shadow:0 0 12px #1cb3ec; }
#talk-thread > div > .author > div > .name { }
#talk-thread > div > .topic { width:85%; padding-bottom:10px; }
#talk-thread > div > .topic pre {
overflow:auto;
margin:0;
padding:15px 10px;
font-size:10pt;
font-style:normal;
line-height:14pt;
background:rgba(0,0,0,.75);
border-left:8px solid rgba(0,0,0,.3); }
#talk-head,
#talk-info {
overflow:auto;
border-radius:3px;
border:8px solid rgba(0,0,0,.2);
border-top:none;
border-bottom:none;
background:rgba(0,0,0,0.1); }
#talk-head { margin-bottom:20px; }
#talk-info { margin-top:20px; }
#talk-head > div,
#talk-info > div { float:left; }
#talk-head > .info,
#talk-info > .info { width:85%; }
#talk-head > .user,
#talk-info > .user { width:15%; background:rgba(0,0,0,.2); }
#talk-info > .user > div > .reply { font-weight:bold; padding-left:22px; background:url("images/forum-reply.png") no-repeat left; }
#talk-head > div > div,
#talk-info > div > div { padding:5px 20px; }
#talk-head > .detail > div { float:left; margin:0; }
#talk-head > .detail > div > div { padding-left:22px; }
#talk-head > .detail > div:first-child > div { background:url("images/forum-views.png") no-repeat left; }
#talk-head > .detail > div:last-child > div { background:url("images/forum-posts.png") no-repeat left; }
#talk-nav { margin:20px 8px 0 8px; padding-top:10px; border-top:1px dashed rgba(0,0,0,0.4); text-align:center; }
#talk-nav > a.active { text-decoration:underline !important; }
.standout {
padding:5px 30px;
margin-bottom:20px;
border:8px solid rgba(0,0,0,.8);
border-right-width:16px;
border-top-width:0;
border-bottom-width:0;
border-radius:3px;
background:rgba(0,0,0,0.1);
box-shadow:1px 3px 12px rgba(0,0,0,.4); }
.standout h2 { margin-bottom:10px; padding-bottom:10px; border-bottom:1px dashed rgba(0,0,0,.8); }
.standout li { margin:0 !important; padding-top:10px; border-top:1px dashed rgba(0,0,0,.2); }
.standout ul { padding-bottom:5px; }
.standout ul.tools { list-style:url("images/docs-tools.png"); }
.standout ul.library { list-style:url("images/docs-library.png"); }
.standout ul.internal { list-style:url("images/docs-internal.png"); }
.standout ul.tutorial { list-style:url("images/docs-tutorial.png"); }
.standout ul.example { list-style:url("images/docs-example.png"); }
.standout li:first-child { padding-top:0; border-top:none; }
.standout li p { margin:0 0 10px 0 !important; line-height:130%; }
.standout li > a { font-weight:bold; }
.forum-user-info,
.forum-user-info * { cursor:help }
#foot { height:150px; position:relative; top:-10px; letter-spacing:1px; }
#foot.home { background:url("images/foot.png") repeat-x top; height:200px; }
#foot.docs { margin-left:320px; margin-right:40px; }
#foot.forum { margin-left:40px; margin-right:40px; }
#foot > div { position:relative; }
#foot.home > div { width:960px; }
#foot h4 { font-size:11pt; color:rgba(255,255,255,.4); margin:40px 0 6px 0; }
#foot a:hover { color:#fff; }
#foot-links { float:left; }
#foot-links > div { float:left; padding:0 40px 0 0; line-height:120%; }
#foot-links a { display:block; font-size:10pt; color:rgba(255,255,255,.3); text-decoration:none; }
#foot-legal { float:right; font-size:10pt; color:rgba(255,255,255,.3); line-height:150%; text-align:right; }
#foot-legal a { color:inherit; text-decoration:none; }
#foot-legal > h4 > a { color:inherit; }
#mascot {
z-index:2;
position:absolute;
top:-340px;
right:25px;
width:202px;
height:319px;
background:url("images/mascot.png") no-repeat; }
#body pre {
padding:20px; padding:20px;
border-left:10px solid #8f9698; border-left:10px solid #8f9698;
background:#f3f6f8; background:#f3f6f8;
@ -96,115 +538,29 @@ html, body {
font-family:courier, monospace; font-family:courier, monospace;
letter-spacing:0; letter-spacing:0;
line-height:17px; line-height:17px;
color: #343739;
} }
#page span.pre { #body span.pre {
background-color: #E6EDF2; background-color: #8396A4; /* #E6EDF2; */
padding: 1pt 3pt; padding: 1pt 3pt;
border-radius: 2pt; border-radius: 2pt;
-moz-border-radius: 2pt; -moz-border-radius: 2pt;
-webkit-border-radius: 2pt; -webkit-border-radius: 2pt;
} }
#page pre > .Comment { color:#858686; font-style:italic; } #body pre > .Comment { color:#858686; font-style:italic; }
#page pre > .Keyword { color:#1cb4ec; font-weight:bold; } #body pre > .Keyword { color:#1cb4ec; font-weight:bold; }
#page pre > .Operator { color:#777; } #body pre > .Operator { color:#777; }
#page pre > .StringLit, #page pre > .DecNumber { color:#ff7302; } #body pre > .StringLit, #page pre > .DecNumber { color:#ff7302; }
#page li { margin-top:10px; } #body .docutils th {
border-bottom: 2px solid #1A1A1A;
#page a:hover { text-decoration: underline; }
#page table.docutils {
background: none repeat scroll 0 0 #F3F6F8;
border-collapse: collapse;
font-size: 8pt;
text-align: left;
width: 480px;
border-spacing: 0;
}
#page .docutils th {
border-bottom: 2px solid #1a1a1a;
font-size: 14px;
font-weight: normal; font-weight: normal;
padding: 8px 8px; padding: 8px;
} }
#body table.docutils {
#page .docutils td { border-collapse: collapse;
padding: 3px 8px; text-align: left;
color: #4d4d4d; border-spacing: 0px;
} }
#sidebar_wrap { float:right; width:260px; }
#sidebar {
z-index:0;
position:relative;
left:20px;
padding:0 10px 60px 10px;
width:200px;
background:#394649 url("images/sidebar.png") bottom no-repeat;
}
#sidebar_head {
z-index:-1;
position:absolute;
top:-220px;
left:-30px;
width:282px;
height:400px;
background:url("images/sidebar_head.png") top no-repeat;
}
#sidebar > h2 {
position:relative;
left:-40px;
margin:20px 0 0 0;
padding:19px 0 0 48px;
width:204px;
height:47px;
color:#fff;
background:url("images/sidebar_h2.png") no-repeat;
text-shadow:0 0 4px rgba(255,255,255,0.75);
letter-spacing:2px;
}
#sidebar > .news { display:block; margin-bottom:20px; padding:0 10px; }
#sidebar > .news > h3 { margin:0; color:#cdd1d1; font-size:18px; letter-spacing:2px; }
#sidebar > .news > p { margin:0; color:#99a0a1; }
#sidebar > .news:hover > h3 { color:#fff; text-shadow:0 0 4px rgba(255,255,255,0.75); }
#sidebar > .news:hover > p { color:#eee; text-shadow:0 0 4px rgba(255,255,255,0.5); }
#sidebar > .link {
display:block;
margin:0;
padding:15px 20px 0 20px;
height:41px;
color:#cdd1d1;
font-size:18px;
font-weight:bold;
}
#sidebar > .link:hover {
color:#fff;
text-shadow:0 0 4px rgba(255,255,255,0.75);
}
#link_forum { background:url("images/link_forum.png") top right no-repeat; }
#link_aporia { background:url("images/link_aporia.png") top right no-repeat; }
#link_nimbuild { background:url("images/link_nimbuild.png") top right no-repeat; }
/* site_foot */
#site_foot { z-index:3; clear:both; padding-top:40px; height:150px; background:url("images/site_foot.png") top no-repeat; }
#legal {
float:right;
margin-top:10px;
color:#88888f;
font-size:12px;
letter-spacing:1px;
}
#legal > a { color:#88888f; }
#legal > a:visited { color:#88888f; }
#legal > a:hover { color:#fff; }

View file

@ -1,13 +1,21 @@
Nim's Community
===============
.. container:: standout
Forum Forum
===== -----
The `Nim forum <http://forum.nim-lang.org/>`_ is the place where most The `Nim forum <http://forum.nim-lang.org/>`_ is the place where most
discussions related to the language happen. It not only includes discussions discussions related to the language happen. It not only includes discussions
relating to the design of Nim but also allows for beginners to ask questions relating to the design of Nim but also allows for beginners to ask questions
relating to Nim. relating to Nim.
.. container:: standout
IRC IRC
==== ----
Many Nim developers are a part of the Many Nim developers are a part of the
`#nim IRC channel <http://webchat.freenode.net/?channels=nim>`_ on `#nim IRC channel <http://webchat.freenode.net/?channels=nim>`_ on
@ -17,11 +25,14 @@ IRC is the perfect place for people just starting to learn Nim and we
welcome any questions that you may have! welcome any questions that you may have!
You may also be interested in reading the You may also be interested in reading the
`IRC logs <http://build.nim-lang.org/irclogs/>`_ which are an archive of all `IRC logs <http://irclogs.nim-lang.org/>`_ which are an archive of all
of the previous discussions that took place in the IRC channel. of the previous discussions that took place in the IRC channel.
.. container:: standout
Github Github
====== ------
Nim's `source code <http://github.com/Araq/Nim>`_ is hosted on Github. Nim's `source code <http://github.com/Araq/Nim>`_ is hosted on Github.
Together with the `wiki <http://github.com/Araq/Nim/wiki>`_ and Together with the `wiki <http://github.com/Araq/Nim/wiki>`_ and
@ -32,27 +43,36 @@ of the `nim-lang organisation <http://github.com/nim-lang>`_.
This includes the `Babel package manager <http://github.com/nim-lang/babel>`_ This includes the `Babel package manager <http://github.com/nim-lang/babel>`_
and its `package repository <http://github.com/nim-lang/packages>`_. and its `package repository <http://github.com/nim-lang/packages>`_.
.. container:: standout
Twitter Twitter
======= -------
Follow us `@nimlang <http://twitter.com/nimlang>`_ for latest news about Follow us `@nimlang <http://twitter.com/nimlang>`_ for latest news about
Nim. Nim.
.. container:: standout
Reddit Reddit
====== ------
Subscribe to `/r/nim <http://reddit.com/r/nim>`_ for latest news about Subscribe to `/r/nim <http://reddit.com/r/nim>`_ for latest news about
Nim. Nim.
.. container:: standout
StackOverflow StackOverflow
============= -------------
When asking a question relating to Nim, be sure to use the When asking a question relating to Nim, be sure to use the
`Nim <http://stackoverflow.com/questions/tagged/nim>`_ tag in your `Nim <http://stackoverflow.com/questions/tagged/nim>`_ tag in your
question. question.
.. container:: standout
How to help How to help
=========== -----------
There are always many things to be done in the main There are always many things to be done in the main
`Nim repository <https://github.com/Araq/Nim>`_, check out the `Nim repository <https://github.com/Araq/Nim>`_, check out the
@ -63,6 +83,9 @@ also contribute to the many other projects hosted by the
can't find anything you fancy doing, you can always ask for inspiration on IRC can't find anything you fancy doing, you can always ask for inspiration on IRC
(irc.freenode.net #nim) or on the `Nim forums <http://forum.nim-lang.org>`_. (irc.freenode.net #nim) or on the `Nim forums <http://forum.nim-lang.org>`_.
.. container:: standout
Donations Donations
--------- ---------
@ -71,8 +94,6 @@ Contributions of any quantity are greatly appreciated and will contribute to
making Nim even better! making Nim even better!
Gittip Gittip
``````
.. raw:: html .. raw:: html
<iframe style="border: 0; margin: 0; padding: 0;" <iframe style="border: 0; margin: 0; padding: 0;"
@ -80,8 +101,6 @@ Gittip
width="48pt" height="22pt"></iframe> width="48pt" height="22pt"></iframe>
Paypal Paypal
``````
.. raw:: html .. raw:: html
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
@ -92,6 +111,4 @@ Paypal
</form> </form>
Bitcoin Bitcoin
```````
Bitcoin address: 1BXfuKM2uvoD6mbx4g5xM3eQhLzkCK77tJ Bitcoin address: 1BXfuKM2uvoD6mbx4g5xM3eQhLzkCK77tJ

View file

@ -1 +1,51 @@
.. include:: ../doc/docs.txt Nim's Documentation
===================
.. container:: standout
Standards & Guides
------------------
- | `Standard Library <lib.html>`_
| This document describes Nim's standard library.
- | `Language Manual <manual.html>`_
| The Nim manual is a draft that will evolve into a proper specification.
- | `Compiler user guide <nimc.html>`_
| The user guide lists command line arguments, special features of the
compiler, etc.
.. container:: standout
Tools & Features
----------------
- | `Source code filters <filters.html>`_
| The Nim compiler supports source code filters as a simple yet powerful
builtin templating system.
- | `Tools documentation <tools.html>`_
| Description of some tools that come with the standard distribution.
.. container:: standout
Internal Details
----------------
- | `Garbage Collector <gc.html>`_
| Additional documentation about Nim's GC and how to operate it in a
| realtime setting.
- | `Internal documentation <intern.html>`_
| The internal documentation describes how the compiler is implemented. Read
this if you want to hack the compiler.
Search Options
--------------
`Documentation Index <theindex.html>`_ - The generated index. **Index + (Ctrl+F) == Joy**

View file

@ -18,22 +18,6 @@ shared memory heap is also provided for the increased efficiency that results
from that model. from that model.
Nim looks like this:
====================
.. code-block:: nim
# compute average line length
var count = 0
var sum = 0
for line in stdin.lines:
count += 1
sum += line.len
echo "Average line length: ",
if count > 0: sum / count else: 0
Nim is efficient Nim is efficient
================ ================

44
web/learn.txt Normal file
View file

@ -0,0 +1,44 @@
Nim's Learning Resources
========================
.. container:: standout
Tutorials
---------
- | `Tutorial (part I) <tut1.html>`_
| Learn the basics of Nim's types, variables, procedures, control flow, etc...
- | `Tutorial (part II) <tut2.html>`_
| Learn Nim's more advanced features such as OOP, generics, macros, etc...
.. container:: standout
Examples
--------
- | `Nim by Example <http://nimrod-by-example.github.io/>`_
| Nim by Example is an excellent starting place for beginners.
- | `Nim on Rosetta Code <http://rosettacode.org/wiki/Category:Nimrod>`_
| Many different Nim code examples comparible to other langues for reference.
- | `Nim for C/C++ Programmers <https://github.com/Araq/Nimrod/wiki/Nimrod-for-C-programmers>`_
| A useful cheat-sheet for those most familiar with C/C++ languages.
.. container:: standout
Articles
--------
- `Dr Dobbs Nimrod Publication <http://www.drdobbs.com/open-source/nimrod-a-new-systems-programming-languag/240165321>`_
- `Bootstrapping Nim <http://goran.krampe.se/2014/10/15/bootstrapping-nim/>`_
Documentation
-------------
More examples of Nim code can be found in the `Nim Language Documenation <manual.html>`_.

View file

@ -78,8 +78,20 @@ News
exceptions (overflow, division by zero, etc.). exceptions (overflow, division by zero, etc.).
2014-10-19 Nimrod version 0.9.6 released 2014-12-09 New website design!
======================================== ==============================
A brand new website including an improved forum is now live.
All thanks go to Philip Witte and
Dominik Picheta, Philip Witte for the design of the website (together with
the logo) as well as the HTML and CSS code for his template, and Dominik Picheta
for integrating Philip's design with Nim's forum. We're sure you will
agree that Philip's design is beautiful.
2014-10-19 Version 0.9.6 released
=================================
**Note: 0.9.6 is the last release of Nimrod. The language is being renamed to **Note: 0.9.6 is the last release of Nimrod. The language is being renamed to
Nim. Nim slightly breaks compatibility.** Nim. Nim slightly breaks compatibility.**

View file

@ -9,13 +9,15 @@ Authors: "Andreas Rumpf and contributors"
# Everything after ; is the ID # Everything after ; is the ID
User_Forum: "http://forum.nim-lang.org;link_forum" User_Forum: "http://forum.nim-lang.org;link_forum"
Aporia_IDE: "https://github.com/nimrod-code/Aporia;link_aporia" Aporia_IDE: "https://github.com/nimrod-code/Aporia;link_aporia"
Nimbuild: "http://build.nim-lang.org;link_nimbuild" Github_Repo: "http://github.com/Araq/Nimrod;link_github"
[Tabs] [Tabs]
# Menu entry: filename # Menu entry: filename
home: index home: index
news: news news: news
docs: documentation docs: documentation
learn: learn
download: download download: download
community: community community: community
FAQ: question FAQ: question
@ -34,7 +36,7 @@ documentation: """Incorrect documentation is often worse than no documentation.
- Bertrand Meyer""" - Bertrand Meyer"""
download: """There are two major products that come out of Berkeley: LSD and download: """There are two major products that come out of Berkeley: LSD and
UNIX. We don't believe this to be a coincidence. - Jeremy S. Anderson.""" UNIX. We don't believe this to be a coincidence. - Jeremy S. Anderson."""
learn: """Repetition renders the ridiculous reasonable. - Norman Wildberger"""
[Documentation] [Documentation]
doc: "endb;intern;apis;lib;manual.txt;tut1;tut2;nimc;overview;filters" doc: "endb;intern;apis;lib;manual.txt;tut1;tut2;nimc;overview;filters"

View file

@ -6,6 +6,8 @@
General General
======= =======
.. container:: standout
What is Nim? What is Nim?
------------ ------------
@ -21,6 +23,8 @@ shared memory heap is also provided for the increased efficiency that results
from that model. from that model.
.. container:: standout
Why yet another programming language? Why yet another programming language?
------------------------------------- -------------------------------------
@ -29,6 +33,8 @@ one of the even fewer that produces native binaries that require no
runtime or interpreter. runtime or interpreter.
.. container:: standout
What have been the major influences in the language's design? What have been the major influences in the language's design?
------------------------------------------------------------- -------------------------------------------------------------
@ -36,6 +42,7 @@ The language borrows heavily from (in order of impact): Modula 3, Delphi, Ada,
C++, Python, Lisp, Oberon. C++, Python, Lisp, Oberon.
.. container:: standout
What is Nim's take on concurrency? What is Nim's take on concurrency?
---------------------------------- ----------------------------------
@ -50,6 +57,8 @@ and Nim's type system will be enhanced to accurately model this shared
memory heap. memory heap.
.. container:: standout
How is Nim licensed? How is Nim licensed?
-------------------- --------------------
@ -58,6 +67,8 @@ This means that you can use any license for your own programs developed with
Nim. Nim.
.. container:: standout
How stable is Nim? How stable is Nim?
------------------ ------------------
@ -67,6 +78,8 @@ and a substantial body of other code. Until version 1.0.0 is released,
minor incompatibilities with older versions of the compiler will be introduced. minor incompatibilities with older versions of the compiler will be introduced.
.. container:: standout
How fast is Nim? How fast is Nim?
---------------- ----------------
Benchmarks show it to be comparable to C. Some language features (methods, Benchmarks show it to be comparable to C. Some language features (methods,
@ -75,6 +88,8 @@ The only overhead Nim has over C is the GC which has been tuned
for years but still needs some work. for years but still needs some work.
.. container:: standout
What about JVM/CLR backends? What about JVM/CLR backends?
---------------------------- ----------------------------
@ -82,6 +97,9 @@ A JVM backend is almost impossible. The JVM is not expressive enough. It has
never been designed as a general purpose VM anyway. A CLR backend is possible never been designed as a general purpose VM anyway. A CLR backend is possible
but would require much work. but would require much work.
.. container:: standout
What about editor support? What about editor support?
-------------------------- --------------------------
@ -93,6 +111,8 @@ What about editor support?
- jEdit: https://github.com/exhu/nimrod-misc/tree/master/jedit - jEdit: https://github.com/exhu/nimrod-misc/tree/master/jedit
.. container:: standout
Why is it named ``proc``? Why is it named ``proc``?
------------------------- -------------------------
@ -105,17 +125,21 @@ effect system it is not yet clear what ``func`` should be a shortcut for.
Compilation Compilation
=========== ===========
.. container:: standout
Which option to use for the fastest executable? Which option to use for the fastest executable?
----------------------------------------------- -----------------------------------------------
For the standard configuration file, ``-d:release`` does the trick. For the standard configuration file, ``-d:release`` does the trick.
.. container:: standout
Which option to use for the smallest executable? Which option to use for the smallest executable?
------------------------------------------------ ------------------------------------------------
For the standard configuration file, ``-d:quick --opt:size`` does the trick. For the standard configuration file, ``-d:quick --opt:size`` does the trick.
.. container:: standout
How do I use a different C compiler than the default one? How do I use a different C compiler than the default one?
--------------------------------------------------------- ---------------------------------------------------------

View file

@ -1,54 +1,21 @@
<a class="news" href="news.html#Z2014-12-09-new-website-design">
<h4>Dec 9, 2014</h4>
<p>The new website design and forum are now online!</p>
</a>
<a class="news" href="news.html#Z2014-10-19-version-0-9-6-released"> <a class="news" href="news.html#Z2014-10-19-version-0-9-6-released">
<h3>Oct 19, 2014</h3> <h4>Oct 19, 2014</h4>
<p>Nimrod version 0.9.6 has been released!</p> <p>Nimrod version 0.9.6 has been released!</p>
</a> </a>
<a class="news" href="news.html#Z2014-04-21-version-0-9-4-released">
<h3>Apr 21, 2014</h3>
<p>Nimrod version 0.9.4 has been released!</p>
</a>
<a class="news" href="news.html#Z2014-02-11-nimrod-featured-in-dr-dobb-s-journal"> <a class="news" href="news.html#Z2014-02-11-nimrod-featured-in-dr-dobb-s-journal">
<h3>Feb 11, 2014</h3> <h4>Feb 11, 2014</h4>
<p>Nimrod featured in Dr. Dobb's Journal</p> <p>Nimrod featured in Dr. Dobb's Journal</p>
</a> </a>
<a class="news" href="news.html#Z2014-01-15-andreas-rumpf-s-talk-on-nimrod-at-strange-loop-2013-is-now-online"> <a class="news" href="news.html#Z2014-01-15-andreas-rumpf-s-talk-on-nimrod-at-strange-loop-2013-is-now-online">
<h3>Jan 15, 2014</h3> <h4>Jan 15, 2014</h4>
<p>Andreas Rumpf's talk on Nimrod at Strange Loop 2013 is now online.</p> <p>Andreas Rumpf's talk on Nimrod at Strange Loop 2013 is now online.</p>
</a> </a>
<a class="news" href="news.html#Z2013-05-20-new-website-design"> <a href="news.html" class="blue">See All News...</a>
<h3>May 20, 2013</h3>
<p>New website design!</p>
</a>
<a class="news" href="news.html#Z2013-05-20-version-0-9-2-released">
<h3>May 20, 2013</h3>
<p>Nimrod version 0.9.2 has been released!</p>
</a>
<a class="news" href="news.html#Z2012-09-23-version-0-9-0-released">
<h3>Sep 23, 2012</h3>
<p>Nimrod version 0.9.0 has been released!</p>
</a>
<a class="news" href="news.html#Z2012-02-09-version-0-8-14-released">
<h3>Feb 9, 2012</h3>
<p>Nimrod version 0.8.14 has been released!</p>
</a>
<a class="news" href="news.html#Z2011-07-10-version-0-8-12-released">
<h3>Jul 10, 2011</h3>
<p>Nimrod version 0.8.12 has been released!</p>
</a>
<a class="news" href="news.html#Z2010-10-20-version-0-8-10-released">
<h3>Oct 20, 2010</h3>
<p>Nimrod version 0.8.10 has been released!</p>
</a>
<a class="news" href="news.html#Z2010-03-14-version-0-8-8-released">
<h3>Mar 14, 2010</h3>
<p>Nimrod version 0.8.8 has been released!</p>
</a>