delphivm 0.7.4
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.
- checksums.yaml +7 -0
- data/.gitignore +5 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +20 -0
- data/README.md +15 -0
- data/Thorfile.thor +24 -0
- data/bin/delphivm.rb +28 -0
- data/delphi_PROJECTICON.ico +0 -0
- data/delphivm.gemspec +25 -0
- data/dvmimports.org/.gitignore +10 -0
- data/dvmimports.org/404.html +1 -0
- data/dvmimports.org/Rakefile +294 -0
- data/dvmimports.org/_config.yml +124 -0
- data/dvmimports.org/_includes/JB/analytics +12 -0
- data/dvmimports.org/_includes/JB/analytics-providers/getclicky +12 -0
- data/dvmimports.org/_includes/JB/analytics-providers/google +11 -0
- data/dvmimports.org/_includes/JB/categories_list +37 -0
- data/dvmimports.org/_includes/JB/comments +16 -0
- data/dvmimports.org/_includes/JB/comments-providers/disqus +13 -0
- data/dvmimports.org/_includes/JB/comments-providers/facebook +9 -0
- data/dvmimports.org/_includes/JB/comments-providers/intensedebate +6 -0
- data/dvmimports.org/_includes/JB/comments-providers/livefyre +6 -0
- data/dvmimports.org/_includes/JB/liquid_raw +32 -0
- data/dvmimports.org/_includes/JB/pages_list +37 -0
- data/dvmimports.org/_includes/JB/posts_collate +55 -0
- data/dvmimports.org/_includes/JB/setup +22 -0
- data/dvmimports.org/_includes/JB/sharing +8 -0
- data/dvmimports.org/_includes/JB/tags_list +33 -0
- data/dvmimports.org/_includes/themes/twitter/default.html +59 -0
- data/dvmimports.org/_includes/themes/twitter/page.html +9 -0
- data/dvmimports.org/_includes/themes/twitter/post.html +40 -0
- data/dvmimports.org/_includes/themes/twitter/settings.yml +2 -0
- data/dvmimports.org/_layouts/default.html +6 -0
- data/dvmimports.org/_layouts/page.html +5 -0
- data/dvmimports.org/_layouts/post.html +5 -0
- data/dvmimports.org/_plugins/debug.rb +38 -0
- data/dvmimports.org/_plugins/gallery.rb +41 -0
- data/dvmimports.org/archive.html +10 -0
- data/dvmimports.org/assets/themes/twitter/css/1.4.0/bootstrap.css +356 -0
- data/dvmimports.org/assets/themes/twitter/css/style.css +71 -0
- data/dvmimports.org/atom.xml +28 -0
- data/dvmimports.org/categories.html +22 -0
- data/dvmimports.org/download.md +16 -0
- data/dvmimports.org/index.md +21 -0
- data/dvmimports.org/pages.html +13 -0
- data/dvmimports.org/sitemap.txt +8 -0
- data/dvmimports.org/tags.html +21 -0
- data/lib/delphivm/dsl.rb +93 -0
- data/lib/delphivm/ide_services.rb +152 -0
- data/lib/delphivm/version.rb +7 -0
- data/lib/delphivm.rb +167 -0
- data/lib/extensions.rb +37 -0
- data/lib/tasks/ide.thor +38 -0
- data/lib/tasks/project.thor +73 -0
- data/lib/tasks/vendor.thor +73 -0
- data/vendor/imports.dvm +11 -0
- metadata +128 -0
@@ -0,0 +1,13 @@
|
|
1
|
+
<div id="disqus_thread"></div>
|
2
|
+
<script type="text/javascript">
|
3
|
+
{% if site.safe == false %}var disqus_developer = 1;{% endif %}
|
4
|
+
var disqus_shortname = '{{ site.JB.comments.disqus.short_name }}'; // required: replace example with your forum shortname
|
5
|
+
/* * * DON'T EDIT BELOW THIS LINE * * */
|
6
|
+
(function() {
|
7
|
+
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
8
|
+
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
|
9
|
+
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
10
|
+
})();
|
11
|
+
</script>
|
12
|
+
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
13
|
+
<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<div id="fb-root"></div>
|
2
|
+
<script>(function(d, s, id) {
|
3
|
+
var js, fjs = d.getElementsByTagName(s)[0];
|
4
|
+
if (d.getElementById(id)) return;
|
5
|
+
js = d.createElement(s); js.id = id;
|
6
|
+
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId={{ site.JB.comments.facebook.appid }}";
|
7
|
+
fjs.parentNode.insertBefore(js, fjs);
|
8
|
+
}(document, 'script', 'facebook-jssdk'));</script>
|
9
|
+
<div class="fb-comments" data-href="{{ site.production_url }}" data-num-posts="{{ site.JB.comments.facebook.num_posts }}" data-width="{{ site.JB.comments.facebook.width }}" data-colorscheme="{{ site.JB.comments.facebook.colorscheme }}"></div>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
{% comment%}<!--
|
2
|
+
The liquid_raw helper is a way to display raw liquid code, as opposed to parsing it.
|
3
|
+
Normally you'd use Liquid's built in 'raw' tag.
|
4
|
+
The problem is GitHub Jekyll does not support the current Liquid release.
|
5
|
+
GitHub Jekyll supports the deprecated 'literal' tag.
|
6
|
+
Using one will break the other if you plan to deploy to GitHub pages.
|
7
|
+
see: https://github.com/mojombo/jekyll/issues/425
|
8
|
+
|
9
|
+
Since I don't want to mess with Liquid versions, I'll just rewrite the way I
|
10
|
+
intend to give liquid examples. It's not an elegant by any means:
|
11
|
+
|
12
|
+
Usage:
|
13
|
+
1) Define a 'text' variable with the block of liquid code you intend to display.
|
14
|
+
2) Pass the text variable to include JB/liquid_raw
|
15
|
+
|
16
|
+
example:
|
17
|
+
{% capture text %}|.% for tag in tags_list %.|
|
18
|
+
<li><a href="|.{ site.var.tags_path }.||.{ tag[0] }.|-ref">|.{ tag[0] }.| <span>|.{tag[1].size}.|</span></a></li>
|
19
|
+
|.% endfor %.|
|
20
|
+
|
21
|
+
|.% assign tags_list = null %.|{% endcapture %}
|
22
|
+
{% include JB/liquid_raw %}
|
23
|
+
|
24
|
+
As seen here, you must use "|." and ".|" as opening and closing brackets.
|
25
|
+
-->{% endcomment%}
|
26
|
+
|
27
|
+
{% if site.JB.liquid_raw.provider == "custom" %}
|
28
|
+
{% include custom/liquid_raw %}
|
29
|
+
{% else %}
|
30
|
+
<pre><code>{{text | replace:"|.", "{" | replace:".|", "}" | replace:">", ">" | replace:"<", "<" }}</code></pre>
|
31
|
+
{% endif %}
|
32
|
+
{% assign text = nil %}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
{% comment %}<!--
|
2
|
+
The pages_list include is a listing helper.
|
3
|
+
Usage:
|
4
|
+
1) assign the 'pages_list' variable to a valid array of pages or posts.
|
5
|
+
2) include JB/pages_list
|
6
|
+
example:
|
7
|
+
<ul>
|
8
|
+
{% assign pages_list = site.pages %}
|
9
|
+
{% include JB/pages_list %}
|
10
|
+
</ul>
|
11
|
+
|
12
|
+
Grouping: (optional):
|
13
|
+
assign the 'group' variable to constrain the list to only pages/posts
|
14
|
+
in the given group. Note you must define the group manually in the page/post
|
15
|
+
meta-data to use this feature.
|
16
|
+
Grouping is mainly helpful for non-post pages.
|
17
|
+
If you want to group posts, it's easier/better to tag them, then pass the tagged posts array.
|
18
|
+
i.e. site.tags.cool_tag (this returns an array of posts tagged: cool_tag)
|
19
|
+
|
20
|
+
This helper can be seen in use at: ../_layouts/default.html
|
21
|
+
-->{% endcomment %}
|
22
|
+
|
23
|
+
{% if site.JB.pages_list.provider == "custom" %}
|
24
|
+
{% include custom/pages_list %}
|
25
|
+
{% else %}
|
26
|
+
{% for node in pages_list %}
|
27
|
+
{% if group == null or group == node.group %}
|
28
|
+
{% if page.url == node.url %}
|
29
|
+
<li class="active"><a href="{{ BASE_PATH }}{{node.url}}" class="active">{{node.title}}</a></li>
|
30
|
+
{% else %}
|
31
|
+
<li><a href="{{ BASE_PATH }}{{node.url}}">{{node.title}}</a></li>
|
32
|
+
{% endif %}
|
33
|
+
{% endif %}
|
34
|
+
{% endfor %}
|
35
|
+
{% endif %}
|
36
|
+
{% assign pages_list = nil %}
|
37
|
+
{% assign group = nil %}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
{% comment %}<!--
|
2
|
+
Collate_posts helper. Collated posts by year and month.
|
3
|
+
Usage:
|
4
|
+
1) assign the 'posts_collate' variable to a valid array of posts.
|
5
|
+
2) include JB/posts_collate
|
6
|
+
example:
|
7
|
+
{% assign posts_collate = site.posts %}
|
8
|
+
{% include JB/posts_collate %}
|
9
|
+
|
10
|
+
Ordering:
|
11
|
+
Posts are displayed in reverse chronological order.
|
12
|
+
For normal chronological order:
|
13
|
+
1) Change the for loop to this:
|
14
|
+
=> 'for post in site.posts reversed'
|
15
|
+
2) Next make sure to change 'post.previous.date' to:
|
16
|
+
=> 'post.next.date'
|
17
|
+
|
18
|
+
-->{% endcomment %}
|
19
|
+
|
20
|
+
{% if site.JB.posts_collate.provider == "custom" %}
|
21
|
+
{% include custom/posts_collate %}
|
22
|
+
{% else %}
|
23
|
+
{% for post in posts_collate %}
|
24
|
+
{% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
|
25
|
+
{% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %}
|
26
|
+
{% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %}
|
27
|
+
{% capture next_month %}{{ post.previous.date | date: "%B" }}{% endcapture %}
|
28
|
+
|
29
|
+
{% if forloop.first %}
|
30
|
+
<h2>{{this_year}}</h2>
|
31
|
+
<h3>{{this_month}}</h3>
|
32
|
+
<ul>
|
33
|
+
{% endif %}
|
34
|
+
|
35
|
+
<li><span>{{ post.date | date: "%B %e, %Y" }}</span> » <a href="{{ BASE_PATH }}{{ post.url }}">{{ post.title }}</a></li>
|
36
|
+
|
37
|
+
{% if forloop.last %}
|
38
|
+
</ul>
|
39
|
+
{% else %}
|
40
|
+
{% if this_year != next_year %}
|
41
|
+
</ul>
|
42
|
+
<h2>{{next_year}}</h2>
|
43
|
+
<h3>{{next_month}}</h3>
|
44
|
+
<ul>
|
45
|
+
{% else %}
|
46
|
+
{% if this_month != next_month %}
|
47
|
+
</ul>
|
48
|
+
<h3>{{next_month}}</h3>
|
49
|
+
<ul>
|
50
|
+
{% endif %}
|
51
|
+
{% endif %}
|
52
|
+
{% endif %}
|
53
|
+
{% endfor %}
|
54
|
+
{% endif %}
|
55
|
+
{% assign posts_collate = nil %}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{% capture jbcache %}
|
2
|
+
<!--
|
3
|
+
- Dynamically set liquid variables for working with URLs/paths
|
4
|
+
-->
|
5
|
+
{% if site.JB.setup.provider == "custom" %}
|
6
|
+
{% include custom/setup %}
|
7
|
+
{% else %}
|
8
|
+
{% if site.safe and site.JB.BASE_PATH and site.JB.BASE_PATH != '' %}
|
9
|
+
{% assign BASE_PATH = site.JB.BASE_PATH %}
|
10
|
+
{% assign HOME_PATH = site.JB.BASE_PATH %}
|
11
|
+
{% else %}
|
12
|
+
{% assign BASE_PATH = nil %}
|
13
|
+
{% assign HOME_PATH = "/" %}
|
14
|
+
{% endif %}
|
15
|
+
|
16
|
+
{% if site.JB.ASSET_PATH %}
|
17
|
+
{% assign ASSET_PATH = site.JB.ASSET_PATH %}
|
18
|
+
{% else %}
|
19
|
+
{% capture ASSET_PATH %}{{ BASE_PATH }}/assets/themes/{{ page.theme.name }}{% endcapture %}
|
20
|
+
{% endif %}
|
21
|
+
{% endif %}
|
22
|
+
{% endcapture %}{% assign jbcache = nil %}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
{% comment %}<!--
|
2
|
+
The tags_list include is a listing helper for tags.
|
3
|
+
Usage:
|
4
|
+
1) assign the 'tags_list' variable to a valid array of tags.
|
5
|
+
2) include JB/tags_list
|
6
|
+
example:
|
7
|
+
<ul>
|
8
|
+
{% assign tags_list = site.tags %}
|
9
|
+
{% include JB/tags_list %}
|
10
|
+
</ul>
|
11
|
+
|
12
|
+
Notes:
|
13
|
+
Tags can be either a Hash of tag objects (hashes) or an Array of tag-names (strings).
|
14
|
+
The encapsulating 'if' statement checks whether tags_list is a Hash or Array.
|
15
|
+
site.tags is a Hash while page.tags is an array.
|
16
|
+
|
17
|
+
This helper can be seen in use at: ../_layouts/default.html
|
18
|
+
-->{% endcomment %}
|
19
|
+
|
20
|
+
{% if site.JB.tags_list.provider == "custom" %}
|
21
|
+
{% include custom/tags_list %}
|
22
|
+
{% else %}
|
23
|
+
{% if tags_list.first[0] == null %}
|
24
|
+
{% for tag in tags_list %}
|
25
|
+
<li><a href="{{ BASE_PATH }}{{ site.JB.tags_path }}#{{ tag }}-ref">{{ tag }} <span>{{ site.tags[tag].size }}</span></a></li>
|
26
|
+
{% endfor %}
|
27
|
+
{% else %}
|
28
|
+
{% for tag in tags_list %}
|
29
|
+
<li><a href="{{ BASE_PATH }}{{ site.JB.tags_path }}#{{ tag[0] }}-ref">{{ tag[0] }} <span>{{ tag[1].size }}</span></a></li>
|
30
|
+
{% endfor %}
|
31
|
+
{% endif %}
|
32
|
+
{% endif %}
|
33
|
+
{% assign tags_list = nil %}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>{{ page.title }}</title>
|
6
|
+
{% if page.description %}<meta name="description" content="{{ page.description }}">{% endif %}
|
7
|
+
<meta name="author" content="{{ site.author.name }}">
|
8
|
+
|
9
|
+
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
10
|
+
<!--[if lt IE 9]>
|
11
|
+
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
12
|
+
<![endif]-->
|
13
|
+
|
14
|
+
<!-- Le styles -->
|
15
|
+
<link href="{{ ASSET_PATH }}/css/1.4.0/bootstrap.css" rel="stylesheet">
|
16
|
+
<link href="{{ ASSET_PATH }}/css/style.css?body=1" rel="stylesheet" type="text/css" media="all">
|
17
|
+
|
18
|
+
<!-- Le fav and touch icons -->
|
19
|
+
<!-- Update these with your own images
|
20
|
+
<link rel="shortcut icon" href="images/favicon.ico">
|
21
|
+
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
|
22
|
+
<link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
|
23
|
+
<link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
|
24
|
+
-->
|
25
|
+
</head>
|
26
|
+
|
27
|
+
<body>
|
28
|
+
|
29
|
+
<div class="topbar">
|
30
|
+
<div class="fill">
|
31
|
+
<div class="container">
|
32
|
+
<a class="brand" href="{{ HOME_PATH }}">{{ site.title }}</a>
|
33
|
+
<ul class="nav">
|
34
|
+
{% assign pages_list = site.pages %}
|
35
|
+
{% assign group = 'navigation' %}
|
36
|
+
{% include JB/pages_list %}
|
37
|
+
</ul>
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<div class="container">
|
43
|
+
|
44
|
+
<div class="content">
|
45
|
+
{{ content }}
|
46
|
+
</div>
|
47
|
+
|
48
|
+
<footer>
|
49
|
+
<p>© {{ site.author.name }} 2012
|
50
|
+
with help from <a href="http://jekyllbootstrap.com" target="_blank" title="The Definitive Jekyll Blogging Framework">Jekyll Bootstrap</a>
|
51
|
+
and <a href="http://twitter.github.com/bootstrap/" target="_blank">Twitter Bootstrap</a>
|
52
|
+
</p>
|
53
|
+
</footer>
|
54
|
+
|
55
|
+
</div> <!-- /container -->
|
56
|
+
|
57
|
+
{% include JB/analytics %}
|
58
|
+
</body>
|
59
|
+
</html>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<div class="page-header">
|
2
|
+
<h1>{{ page.title }}</h1>
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<div class="row">
|
6
|
+
<div class="span10">
|
7
|
+
{{ content }}
|
8
|
+
<hr>
|
9
|
+
<div class="pagination">
|
10
|
+
<ul>
|
11
|
+
{% if page.previous %}
|
12
|
+
<li class="prev"><a href="{{ BASE_PATH }}{{ page.previous.url }}" title="{{ page.previous.title }}">← Previous</a></li>
|
13
|
+
{% else %}
|
14
|
+
<li class="prev disabled"><a>← Previous</a></li>
|
15
|
+
{% endif %}
|
16
|
+
<li><a href="{{ BASE_PATH }}{{ site.JB.archive_path }}">Archive</a></li>
|
17
|
+
{% if page.next %}
|
18
|
+
<li class="next"><a href="{{ BASE_PATH }}{{ page.next.url }}" title="{{ page.next.title }}">Next →</a></li>
|
19
|
+
{% else %}
|
20
|
+
<li class="next disabled"><a>Next →</a>
|
21
|
+
{% endif %}
|
22
|
+
</ul>
|
23
|
+
</div>
|
24
|
+
<hr>
|
25
|
+
{% include JB/comments %}
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div class="span4">
|
29
|
+
<h4>Published</h4>
|
30
|
+
<div class="date"><span>{{ page.date | date_to_long_string }}</span></div>
|
31
|
+
|
32
|
+
{% unless page.tags == empty %}
|
33
|
+
<h4>Tags</h4>
|
34
|
+
<ul class="tag_box">
|
35
|
+
{% assign tags_list = page.tags %}
|
36
|
+
{% include JB/tags_list %}
|
37
|
+
</ul>
|
38
|
+
{% endunless %}
|
39
|
+
</div>
|
40
|
+
</div>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# A simple way to inspect liquid template variables.
|
2
|
+
# Usage:
|
3
|
+
# Can be used anywhere liquid syntax is parsed (templates, includes, posts/pages)
|
4
|
+
# {{ site | debug }}
|
5
|
+
# {{ site.posts | debug }}
|
6
|
+
#
|
7
|
+
require 'pp'
|
8
|
+
module Jekyll
|
9
|
+
# Need to overwrite the inspect method here because the original
|
10
|
+
# uses < > to encapsulate the psuedo post/page objects in which case
|
11
|
+
# the output is taken for HTML tags and hidden from view.
|
12
|
+
#
|
13
|
+
class Post
|
14
|
+
def inspect
|
15
|
+
"#Jekyll:Post @id=#{self.id.inspect}"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class Page
|
20
|
+
def inspect
|
21
|
+
"#Jekyll:Page @name=#{self.name.inspect}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end # Jekyll
|
26
|
+
|
27
|
+
module Jekyll
|
28
|
+
module DebugFilter
|
29
|
+
|
30
|
+
def debug(obj, stdout=false)
|
31
|
+
puts obj.pretty_inspect if stdout
|
32
|
+
"<pre>#{obj.class}\n#{obj.pretty_inspect}</pre>"
|
33
|
+
end
|
34
|
+
|
35
|
+
end # DebugFilter
|
36
|
+
end # Jekyll
|
37
|
+
|
38
|
+
Liquid::Template.register_filter(Jekyll::DebugFilter)
|
@@ -0,0 +1,41 @@
|
|
1
|
+
#
|
2
|
+
# http://baldowl.github.com/2011/04/13/rough-gallery-plugin-for-jekyll.html
|
3
|
+
# Basic: add a `gallery` attribute to the YAML header of any page with value
|
4
|
+
# being the extension of your images. Every image with that extension stored
|
5
|
+
# inside the page's directory (and every one of its subdirectories) will be
|
6
|
+
# added to the `gallery_items` attribute of that same page (alphabetically
|
7
|
+
# sorted).
|
8
|
+
|
9
|
+
module Jekyll
|
10
|
+
class Gallery < Generator
|
11
|
+
safe true
|
12
|
+
|
13
|
+
def generate site
|
14
|
+
site.pages.each do |page|
|
15
|
+
gallery(site, page) if page.data['gallery']
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def gallery site, page
|
20
|
+
base = page.instance_variable_get :@dir
|
21
|
+
# search = File.join '**', "*.#{page.data['gallery']}"
|
22
|
+
search = "#{page.data['gallery']}"
|
23
|
+
items = Dir.chdir(base[1..-1] || '.') do
|
24
|
+
Dir.glob(search).sort.map {|item| File.join base, item}
|
25
|
+
end
|
26
|
+
page.data = page.data.deep_merge 'gallery_items' => items
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
module Jekyll
|
32
|
+
module AssetFilter
|
33
|
+
def download_entry(input)
|
34
|
+
info = File.basename(input, '.zip').split('-')[0..-1]
|
35
|
+
info << '*' if info.size < 4
|
36
|
+
"%1s | %2s | %3s | %4s" % info
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
Liquid::Template.register_filter(Jekyll::AssetFilter)
|