Commit 1f279736 authored by Erwan Bousse's avatar Erwan Bousse

Adding a simple nanoc website

parent bc5232b9
#!/usr/bin/env ruby
# A few helpful tips about the Rules file:
# * The string given to #compile and #route are matching patterns for
# identifiers--not for paths. Therefore, you can’t match on extension.
# * The order of rules is important: for each item, only the first matching
# rule is applied.
# * Item identifiers start and end with a slash (e.g. “/about/” for the file
# “content/about.html”). To select all children, grandchildren, … of an
# item, use the pattern “/about/*/”; “/about/*” will also select the parent,
# because “*” matches zero or more characters.
compile '*' do
if item[:extension] == 'md'
filter :kramdown
layout 'default'
elsif item[:extension] == 'css'
# don’t filter stylesheets
elsif item.binary?
# don’t filter binary items
filter :erb
layout 'default'
route '*' do
if item[:extension] == 'css'
# Write item with identifier /foo/ to /foo.css
item.identifier.chop + '.css'
elsif item.binary?
# Write item with identifier /foo/ to /foo.ext
item.identifier.chop + '.' + item[:extension]
# Write item with identifier /foo/ to /foo/index.html
item.identifier + 'index.html'
layout '*', :erb
title: Getting started
Getting started
title: Research
Research work
title: Home
Moclodash: memory efficient EMF model cloning
Moclodash is a set of tools for memory efficient EMF model cloning.
## Authors
This research work was made by the DiverSE research team.
- Erwan Bousse (writer and developer)
- Benoit Combemale (supervisor)
- Benoit Baudry (supervisor)
title: Source
* {
margin: 0;
padding: 0;
font-family: Georgia, Palatino, serif;
body {
background: #fff;
a {
text-decoration: none;
a:visited {
color: #f30;
a:hover {
color: #f90;
#main {
position: absolute;
top: 40px;
left: 280px;
width: 500px;
#main h1 {
font-size: 40px;
font-weight: normal;
line-height: 40px;
letter-spacing: -1px;
#main p {
margin: 20px 0;
font-size: 15px;
line-height: 20px;
#main ul, #main ol {
margin: 20px;
#main li {
font-size: 15px;
line-height: 20px;
#main ul li {
list-style-type: square;
#sidebar {
position: absolute;
top: 40px;
left: 20px;
width: 200px;
padding: 20px 20px 0 0;
border-right: 1px solid #ccc;
text-align: right;
#sidebar h2 {
text-transform: uppercase;
font-size: 13px;
color: #333;
letter-spacing: 1px;
line-height: 20px;
#sidebar ul {
list-style-type: none;
margin: 20px 0;
#sidebar li {
font-size: 14px;
line-height: 20px;
title: Benchmark tool suite
Benchmark tool suite
title: Eclipse plugin
Eclipse plugin
<html lang="en">
<meta charset="utf-8">
<title>Moclodash - <%= @item[:title] %></title>
<link rel="stylesheet" href="/stylesheet.css">
<!-- you don't need to keep this, but it's cool for stats! -->
<meta name="generator" content="nanoc <%= Nanoc::VERSION %>">
<div id="main">
<%= yield %>
<div id="sidebar">
<li><a href="/">Moclodash</a></li>
<li><a href="/tools/plugin">Eclipse plugin</a></li>
<li><a href="/tools/benchmark">Benchmark toolsuite</a></li>
<li><a href="">Forge</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/doc/getting-started">Getting started</a></li>
<li><a href="/doc/research">Research</a></li>
# All files in the 'lib' directory will be loaded
# before nanoc starts compiling.
# A list of file extensions that nanoc will consider to be textual rather than
# binary. If an item with an extension not in this list is found, the file
# will be considered as binary.
text_extensions: [ 'coffee', 'css', 'erb', 'haml', 'handlebars', 'hb', 'htm', 'html', 'js', 'less', 'markdown', 'md', 'ms', 'mustache', 'php', 'rb', 'sass', 'scss', 'txt', 'xhtml', 'xml' ]
# The path to the directory where all generated files will be written to. This
# can be an absolute path starting with a slash, but it can also be path
# relative to the site directory.
output_dir: output
# A list of index filenames, i.e. names of files that will be served by a web
# server when a directory is requested. Usually, index files are named
# “index.html”, but depending on the web server, this may be something else,
# such as “default.htm”. This list is used by nanoc to generate pretty URLs.
index_filenames: [ 'index.html' ]
# Whether or not to generate a diff of the compiled content when compiling a
# site. The diff will contain the differences between the compiled content
# before and after the last site compilation.
enable_output_diff: false
# Whether to automatically remove files not managed by nanoc from the output
# directory. For safety reasons, this is turned off by default.
auto_prune: false
# Which files and directories you want to exclude from pruning. If you version
# your output directory, you should probably exclude VCS directories such as
# .git, .svn etc.
exclude: [ '.git', '.hg', '.svn', 'CVS' ]
# The data sources where nanoc loads its data from. This is an array of
# hashes; each array element represents a single data source. By default,
# there is only a single data source that reads data from the “content/” and
# “layout/” directories in the site directory.
# The type is the identifier of the data source. By default, this will be
# `filesystem_unified`.
type: filesystem_unified
# The path where items should be mounted (comparable to mount points in
# Unix-like systems). This is “/” by default, meaning that items will have
# “/” prefixed to their identifiers. If the items root were “/en/”
# instead, an item at content/about.html would have an identifier of
# “/en/about/” instead of just “/about/”.
items_root: /
# The path where layouts should be mounted. The layouts root behaves the
# same as the items root, but applies to layouts rather than items.
layouts_root: /
# Whether to allow periods in identifiers. When turned off, everything
# past the first period is considered to be the extension, and when
# turned on, only the characters past the last period are considered to
# be the extension. For example, a file named “content/about.html.erb”
# will have the identifier “/about/” when turned off, but when turned on
# it will become “/about.html/” instead.
allow_periods_in_identifiers: false
kind: rsync
dst: ""
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment