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.
Files changed (57) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/Gemfile +12 -0
  4. data/Gemfile.lock +20 -0
  5. data/README.md +15 -0
  6. data/Thorfile.thor +24 -0
  7. data/bin/delphivm.rb +28 -0
  8. data/delphi_PROJECTICON.ico +0 -0
  9. data/delphivm.gemspec +25 -0
  10. data/dvmimports.org/.gitignore +10 -0
  11. data/dvmimports.org/404.html +1 -0
  12. data/dvmimports.org/Rakefile +294 -0
  13. data/dvmimports.org/_config.yml +124 -0
  14. data/dvmimports.org/_includes/JB/analytics +12 -0
  15. data/dvmimports.org/_includes/JB/analytics-providers/getclicky +12 -0
  16. data/dvmimports.org/_includes/JB/analytics-providers/google +11 -0
  17. data/dvmimports.org/_includes/JB/categories_list +37 -0
  18. data/dvmimports.org/_includes/JB/comments +16 -0
  19. data/dvmimports.org/_includes/JB/comments-providers/disqus +13 -0
  20. data/dvmimports.org/_includes/JB/comments-providers/facebook +9 -0
  21. data/dvmimports.org/_includes/JB/comments-providers/intensedebate +6 -0
  22. data/dvmimports.org/_includes/JB/comments-providers/livefyre +6 -0
  23. data/dvmimports.org/_includes/JB/liquid_raw +32 -0
  24. data/dvmimports.org/_includes/JB/pages_list +37 -0
  25. data/dvmimports.org/_includes/JB/posts_collate +55 -0
  26. data/dvmimports.org/_includes/JB/setup +22 -0
  27. data/dvmimports.org/_includes/JB/sharing +8 -0
  28. data/dvmimports.org/_includes/JB/tags_list +33 -0
  29. data/dvmimports.org/_includes/themes/twitter/default.html +59 -0
  30. data/dvmimports.org/_includes/themes/twitter/page.html +9 -0
  31. data/dvmimports.org/_includes/themes/twitter/post.html +40 -0
  32. data/dvmimports.org/_includes/themes/twitter/settings.yml +2 -0
  33. data/dvmimports.org/_layouts/default.html +6 -0
  34. data/dvmimports.org/_layouts/page.html +5 -0
  35. data/dvmimports.org/_layouts/post.html +5 -0
  36. data/dvmimports.org/_plugins/debug.rb +38 -0
  37. data/dvmimports.org/_plugins/gallery.rb +41 -0
  38. data/dvmimports.org/archive.html +10 -0
  39. data/dvmimports.org/assets/themes/twitter/css/1.4.0/bootstrap.css +356 -0
  40. data/dvmimports.org/assets/themes/twitter/css/style.css +71 -0
  41. data/dvmimports.org/atom.xml +28 -0
  42. data/dvmimports.org/categories.html +22 -0
  43. data/dvmimports.org/download.md +16 -0
  44. data/dvmimports.org/index.md +21 -0
  45. data/dvmimports.org/pages.html +13 -0
  46. data/dvmimports.org/sitemap.txt +8 -0
  47. data/dvmimports.org/tags.html +21 -0
  48. data/lib/delphivm/dsl.rb +93 -0
  49. data/lib/delphivm/ide_services.rb +152 -0
  50. data/lib/delphivm/version.rb +7 -0
  51. data/lib/delphivm.rb +167 -0
  52. data/lib/extensions.rb +37 -0
  53. data/lib/tasks/ide.thor +38 -0
  54. data/lib/tasks/project.thor +73 -0
  55. data/lib/tasks/vendor.thor +73 -0
  56. data/vendor/imports.dvm +11 -0
  57. 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,6 @@
1
+ <script>
2
+ var idcomments_acct = '{{ site.JB.comments.intensedebate.account }}';
3
+ var idcomments_post_id;
4
+ var idcomments_post_url;
5
+ </script>
6
+ <script type="text/javascript" src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script>
@@ -0,0 +1,6 @@
1
+ <script type='text/javascript' src='http://zor.livefyre.com/wjs/v1.0/javascripts/livefyre_init.js'></script>
2
+ <script type='text/javascript'>
3
+ var fyre = LF({
4
+ site_id: {{ site.JB.comments.livefyre.site_id }}
5
+ });
6
+ </script>
@@ -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:"|.", "&#123;" | replace:".|", "&#125;" | replace:">", "&gt;" | replace:"<", "&lt;" }}</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> &raquo; <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,8 @@
1
+ {% if site.safe and site.JB.sharing.provider and page.JB.sharing != false %}
2
+
3
+ {% case site.JB.sharing.provider %}
4
+ {% when "custom" %}
5
+ {% include custom/sharing %}
6
+ {% endcase %}
7
+
8
+ {% endif %}
@@ -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>&copy; {{ 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,9 @@
1
+ <div class="page-header">
2
+ <h1>{{ page.title }}</h1>
3
+ </div>
4
+
5
+ <div class="row">
6
+ <div class="span14">
7
+ {{ content }}
8
+ </div>
9
+ </div>
@@ -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 }}">&larr; Previous</a></li>
13
+ {% else %}
14
+ <li class="prev disabled"><a>&larr; 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 &rarr;</a></li>
19
+ {% else %}
20
+ <li class="next disabled"><a>Next &rarr;</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,2 @@
1
+ theme :
2
+ name : twitter
@@ -0,0 +1,6 @@
1
+ ---
2
+ theme :
3
+ name : twitter
4
+ ---
5
+ {% include JB/setup %}
6
+ {% include themes/twitter/default.html %}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ {% include JB/setup %}
5
+ {% include themes/twitter/page.html %}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ {% include JB/setup %}
5
+ {% include themes/twitter/post.html %}
@@ -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)
@@ -0,0 +1,10 @@
1
+ ---
2
+ layout: page
3
+ title : Archivo
4
+ header : Post Archive
5
+ group: navigation
6
+ ---
7
+ {% include JB/setup %}
8
+
9
+ {% assign posts_collate = site.posts %}
10
+ {% include JB/posts_collate %}