delphivm 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
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 %}