deplot 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +1 -1
- data/README.md +14 -4
- data/bin/deplot +30 -5
- data/deplot.gemspec +1 -1
- metadata +3 -3
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -3,17 +3,27 @@ deplot
|
|
3
3
|
|
4
4
|
Deplot is a static web site generator with a ruby DSL.
|
5
5
|
|
6
|
-
|
6
|
+
Intention
|
7
|
+
---------
|
8
|
+
|
9
|
+
Deplot is intended to simplify the progress of creating and maintaining a static web site. Its main advantages are:
|
10
|
+
|
11
|
+
* Separating content from markup with layout (template) files
|
12
|
+
* Independency from specific markup languages by using [tilt][tilt] in both layout and content files
|
13
|
+
* Simplifying the design/development workflow with a pre-built Guardfile that allows [guard][guard] to recompile any asset or the whole project if a source file changes.
|
14
|
+
* Easy deployment with a folder structure ready for [git-ftp][git-ftp]
|
15
|
+
|
16
|
+
Installation and usage
|
7
17
|
-----
|
8
18
|
|
9
|
-
|
19
|
+
Install the deplot gem via rubygems.org: `gem install deplot`. Or build it directly from the sources with `gem build deplot.gemspec; gem install deplot-0.0.x.gem` in the cloned repo. For both `gem install` commands, admin rights may be required.
|
20
|
+
|
21
|
+
If the deplot gem is installed, calling `deplot new <project_name>` will create a project directory with all the files and directories needed to get a new site started. You can also use an existing skeleton with `deplot new <project_name> <git_url>`, which will clone the specified git repo. Deplot's built upon a custom DSL that's used to describe your site's pages (in the `Deplotfile`):
|
10
22
|
|
11
23
|
```ruby
|
12
24
|
path "/" do
|
13
25
|
render "index.markdown"
|
14
26
|
end
|
15
|
-
|
16
|
-
publish
|
17
27
|
```
|
18
28
|
|
19
29
|
You can create multiple pages from multiple source files with `render_all` (the `#` is replaced by the file name with `.html` extension):
|
data/bin/deplot
CHANGED
@@ -9,7 +9,11 @@ require 'tilt'
|
|
9
9
|
$assets_dir = Dir.pwd+"/assets"
|
10
10
|
$content_dir = Dir.pwd+"/content"
|
11
11
|
$root_dir = Dir.pwd
|
12
|
+
|
13
|
+
$is_currently_rendering = false
|
14
|
+
|
12
15
|
$template_arguments = {}
|
16
|
+
$global_variables = {}
|
13
17
|
$variables = {}
|
14
18
|
|
15
19
|
$tasks = []
|
@@ -26,7 +30,11 @@ def content_dir dir
|
|
26
30
|
$content_dir = $root_dir + "/" + dir.gsub(/^\//, "").gsub(/\/$/, "")
|
27
31
|
end
|
28
32
|
def variables vars
|
29
|
-
|
33
|
+
if $is_currently_rendering
|
34
|
+
$variables.merge! vars
|
35
|
+
else
|
36
|
+
$global_variables.merge! vars
|
37
|
+
end
|
30
38
|
end
|
31
39
|
def layout file
|
32
40
|
$layout = file
|
@@ -56,9 +64,12 @@ def path path, &block
|
|
56
64
|
$layout = "layout.erb"
|
57
65
|
$options = {}
|
58
66
|
$variables = {}
|
59
|
-
|
67
|
+
$is_currently_rendering = true
|
68
|
+
|
60
69
|
# set
|
61
70
|
block.call
|
71
|
+
|
72
|
+
$is_currently_rendering = false
|
62
73
|
|
63
74
|
# remember
|
64
75
|
if $render_type == "render-all"
|
@@ -113,6 +124,7 @@ def publish
|
|
113
124
|
puts "Publishing site..."
|
114
125
|
$tasks.each do |task|
|
115
126
|
action, path, source, $layout, options, variables = task
|
127
|
+
variables.merge! $global_variables
|
116
128
|
content = ""
|
117
129
|
$template_arguments = {:path => "", :source => "", :file_name => "", :depth => 0}
|
118
130
|
$template_arguments.merge! variables
|
@@ -380,12 +392,26 @@ EOF
|
|
380
392
|
File.open "style.less", "w" do |file|
|
381
393
|
file.write <<-EOF
|
382
394
|
body {
|
395
|
+
margin: 0;
|
383
396
|
font-family: "Helvetica", sans-serif;
|
397
|
+
background-color: #EEE;
|
384
398
|
}
|
385
399
|
#wrapper {
|
386
400
|
width: 500px;
|
387
|
-
|
401
|
+
padding: 10px;
|
402
|
+
margin: 10px auto;
|
403
|
+
background-color: #FFF;
|
404
|
+
border: 3px solid #DDD;
|
405
|
+
}
|
406
|
+
p {
|
407
|
+
color: #444;
|
408
|
+
}
|
409
|
+
h1 {
|
410
|
+
margin-bottom: 20px;
|
411
|
+
padding-bottom: 8px;
|
412
|
+
border-bottom: 1px solid #EEE;
|
388
413
|
}
|
414
|
+
|
389
415
|
EOF
|
390
416
|
end
|
391
417
|
end
|
@@ -396,8 +422,6 @@ EOF
|
|
396
422
|
path '/' do
|
397
423
|
render "index.markdown"
|
398
424
|
end
|
399
|
-
|
400
|
-
publish
|
401
425
|
EOF
|
402
426
|
end
|
403
427
|
# Guardfile
|
@@ -512,6 +536,7 @@ EOF
|
|
512
536
|
end
|
513
537
|
$LOAD_PATH.unshift(Dir.pwd)
|
514
538
|
load "Deplotfile"
|
539
|
+
publish
|
515
540
|
end
|
516
541
|
end
|
517
542
|
Deplot.start
|
data/deplot.gemspec
CHANGED
metadata
CHANGED