fnando-glue 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -23,6 +23,13 @@ Just run `glue /some/path` to generate your site skeleton.
23
23
 
24
24
  [TODO: Write more about it]
25
25
 
26
+ RUNNING TESTS
27
+ -------------
28
+
29
+ Install the <http://github.com/fnando/rspec-hpricot-matchers> gem.
30
+
31
+ Then run `rake spec` or just `rake`.
32
+
26
33
  TODO
27
34
  ----
28
35
 
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
1
  require "rake"
2
2
  require File.dirname(__FILE__) + "/lib/glue"
3
+ require "spec/rake/spectask"
3
4
 
4
5
  PKG_FILES = %w(Rakefile glue.gemspec README.markdown) + Dir["{bin,lib,templates}/**/*"]
5
6
 
@@ -74,3 +75,8 @@ namespace :gem do
74
75
  system "rm *.gem"
75
76
  end
76
77
  end
78
+
79
+ task :default => :spec
80
+ Spec::Rake::SpecTask.new do |t|
81
+ t.spec_opts = ["-c", "-f s"]
82
+ end
data/glue.gemspec CHANGED
@@ -47,7 +47,7 @@ Gem::Specification.new do |s|
47
47
  "templates/style.sass"]
48
48
  s.authors = ["Nando Vieira"]
49
49
  s.required_rubygems_version = ">= 0"
50
- s.version = "0.0.4"
50
+ s.version = "0.0.5"
51
51
  s.has_rdoc = true
52
52
  s.email = ["fnando.vieira@gmail.com"]
53
53
  end
data/lib/glue.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Glue
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
4
4
 
5
5
  # add glue lib to load path
@@ -17,12 +17,12 @@ module Glue
17
17
 
18
18
  # instantiate builder
19
19
  xml = Builder::XmlMarkup.new(:target => file, :indent => 2)
20
- xml.instruct! :xml, :version => "1.1", :encoding => "UTF-8"
20
+ xml.instruct! :xml, :version => "1.0", :encoding => "UTF-8"
21
21
 
22
22
  feed_opts = {
23
23
  "xmlns" => "http://www.w3.org/2005/Atom",
24
24
  "xml:lang" => config[:site][:language],
25
- "xml:base" => "http://www.example.org"
25
+ "xml:base" => config[:site][:base_url]
26
26
  }
27
27
 
28
28
  xml.feed(feed_opts) do
@@ -30,10 +30,15 @@ module Glue
30
30
  xml.id config[:site][:base_url]
31
31
 
32
32
  # set title
33
- xml.title config[:site][:title]
33
+ xml.title { xml.cdata! config[:site][:title] }
34
34
 
35
35
  # set description
36
- xml.subtitle config[:site][:description]
36
+ xml.subtitle { xml.cdata! config[:site][:description] }
37
+
38
+ # set author
39
+ xml.author do
40
+ xml.name { xml.cdata! config[:site][:title] }
41
+ end
37
42
 
38
43
  # set link to site
39
44
  xml.link(:href => config[:site][:base_url])
@@ -47,15 +52,12 @@ module Glue
47
52
  # add generator info
48
53
  xml.generator("Glue", :uri => "http://github.com/fnando/glue", :version => Glue::VERSION)
49
54
 
50
- # set language
51
- xml.language config[:site][:language]
52
-
53
55
  filtered_items.each do |options|
54
56
  url = File.join(config[:site][:base_url], options[:path])
55
57
 
56
58
  xml.entry do
57
- xml.title options[:title]
58
- xml.summary options[:description]
59
+ xml.title { xml.cdata! options[:title] }
60
+ xml.summary { xml.cdata! options[:description] }
59
61
  xml.updated options[:updated_at].xmlschema
60
62
  xml.link :rel => "alternate", :type => "text/html", :href => url
61
63
  xml.id url
@@ -2,16 +2,30 @@ module Glue
2
2
  module Template
3
3
  class Helper
4
4
  def config
5
- @config ||= YAML.load_file(GLUE_ROOT + "/config/glue.yml")
5
+ @config ||= Glue::Config.new
6
6
  end
7
7
 
8
- def url_for(path)
9
- uri = URI.parse(config["base_url"])
8
+ def feed_tag
9
+ haml '%link{"href" => url_for("feed.xml", :full => true), "rel" => "alternate", "title" => config[:site][:title], "type" => "application/atom+xml"}'
10
+ end
11
+
12
+ def url_for(path, options={})
13
+ uri = URI.parse(config[:site][:base_url])
14
+
15
+ host = uri.scheme + "://" + uri.host
16
+ host << ":#{uri.port}" unless (uri.scheme == "http" && uri.port == 80) || (uri.scheme == "https" && uri.port == 443)
17
+
10
18
  base_path = uri.path.chomp("/")
11
19
 
12
- path = File.join(base_path, path)
13
- path << ".html" if config["use_extension"] && base_path !~ /\.html$/
14
- path
20
+ parts = []
21
+ parts << host if options[:full]
22
+ parts << base_path
23
+ parts << path
24
+
25
+ url = File.join(*parts)
26
+
27
+ url << ".html" if config[:site][:friendly_url] == false && url !~ /\.[a-z0-9]+$/
28
+ url
15
29
  end
16
30
 
17
31
  def markdown(text)
data/templates/main.haml CHANGED
@@ -10,6 +10,7 @@
10
10
  %meta{"http-equiv" => "last-update", "content" => last_update}
11
11
  %link{"rel" => "shortcut icon", "href" => "/favicon.ico", "type" => "image/x-icon"}
12
12
  %link{"rel" => "stylesheet", "href" => "/stylesheets/style.css", "type" => "text/css"}
13
+ = feed_tag
13
14
 
14
15
  %body{"id" => id}
15
16
  #page
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fnando-glue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira