blog_helper 0.0.9 → 0.0.10

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/README.md CHANGED
@@ -33,14 +33,12 @@ For example, to use seo friendly titles, your layout.rhtml should be looking lik
33
33
  <% require 'blog_helper'
34
34
  page_title = BlogHelper::seo_friendly_title(@path, title, 'yourSitesTitle.com')
35
35
  %>
36
- .
37
- .
38
- .
39
36
  <title><%= page_title %></title>
40
37
  <link rel="alternate" type="application/atom+xml" title="<%= page_title %> - feed" href="/index.xml" />
41
38
  .
42
39
  .
43
40
  .
41
+
44
42
  ### Tags
45
43
  Adding the tagging feature requires the _toto_prerelease_ as mentioned above, since we need the http request to apply our little hack.
46
44
 
@@ -76,9 +74,7 @@ And again: piece of caked ;-). Now all we need to add is a page that displays ar
76
74
 
77
75
  Create a page called `tagged.rhtml` in your `templates/pages` directory that looks like this:
78
76
 
79
- <%#
80
- # search given tags...
81
- %>
77
+
82
78
  <%
83
79
  require 'blog_helper'
84
80
  desired_tag = BlogHelper::desired_tag(env["QUERY_STRING"])
@@ -106,7 +102,20 @@ To use a bit.ly shortened URL, just call the followin function inside a .rhtml f
106
102
 
107
103
  ### disqus comment counter
108
104
 
109
- TBD... I have to refer to the source & ri for now.
105
+ Basically just adds the necessary java script to enable the disqus comment counter. For best performance, place it near the end of the page:
106
+
107
+ <%= BlogHelper::disqus_comment_count_js(@config[:disqus]) %>
108
+ </body>
109
+
110
+ </html>
111
+
112
+ Mind the usage of `@config[:disqus]`, this enables configuration via `config.ru`.
113
+
114
+ To access the comment count, use `#disqus_thread` at the end of the permalink to the post & it will be replaced with the disqus comment count:
115
+
116
+ <a href="<%= article.path %>#disqus_thread">&nbsp;</a>
117
+
118
+ Will result in the number of comments of the article the permalink posts to.
110
119
 
111
120
  ### serious custom yaml field reader
112
121
 
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ require 'rake/testtask'
12
12
 
13
13
  spec = Gem::Specification.new do |s|
14
14
  s.name = 'blog_helper'
15
- s.version = '0.0.9'
15
+ s.version = '0.0.10'
16
16
  s.has_rdoc = true
17
17
  s.extra_rdoc_files = ['README.md', 'LICENSE']
18
18
  s.summary = 'Some handy helpers for serious, toto and the likes...'
@@ -2,10 +2,13 @@ require 'cgi'
2
2
  require 'net/http'
3
3
  require 'uri'
4
4
 
5
-
5
+ #
6
6
  # Some useful feature for serious, toto and the likes. Basically, any ruby based blog or site.
7
+ #
7
8
  module BlogHelper
9
+ #
8
10
  # create a list of links to tagged articles, default link_format: <code>%&amp;&lt;a href=&quot;/tagged?tag=#{tag}&quot; alt=&quot;articles concerning #{tag}&quot; &gt;#{tag}&lt;/a&gt; &amp;</code>
11
+ #
9
12
  def BlogHelper.tag_link_list(csv_string)
10
13
  # read csv-string into array
11
14
  tag_list = csv_to_array(csv_string)
@@ -16,13 +19,17 @@ module BlogHelper
16
19
  end
17
20
  tag_string
18
21
  end
22
+ #
19
23
  # processes a csv-string into an array
24
+ #
20
25
  def BlogHelper.csv_to_array(csv_string)
21
26
  #split & handle forgotten spaces after the separator. then flatten the multidemnsional array:
22
27
  csv_string.split(', ').map{ |e| e.split(',')}.flatten if csv_string
23
28
  end
29
+ #
24
30
  # pass the path (@path for a toto blog) & the desired SEO ending, e.g. the name of your blog.
25
31
  # example for toto: <code>seo_friendly_title(@path, title, "mysite.com") will produce 'subpage | mysite.com' as seo friendly page title.</code>
32
+ #
26
33
  def BlogHelper.seo_friendly_title(path, title, seo_ending)
27
34
  #TODO use custom title separator...
28
35
  if path == 'index'
@@ -34,6 +41,7 @@ module BlogHelper
34
41
  end
35
42
  page_title
36
43
  end
44
+ #
37
45
  #Generates javascript to include to the bottom of your index page.
38
46
  #Appending '#disqus_thread' to the end of permalinks will replace the text of these links with the comment count.
39
47
  #
@@ -54,13 +62,21 @@ module BlogHelper
54
62
 
55
63
  & if disqus_shortname
56
64
  end
65
+ #
57
66
  # Retrieve bit.ly shortened url
67
+ #
58
68
  def BlogHelper.short_url_bitly(url, login, api_key)
59
69
  if api_key != "" && login != ""
60
70
  rest_call=%{http://api.bit.ly/v3/shorten?login=#{login}&apikey=#{api_key}&longUrl=#{url}&format=txt}
61
- Net::HTTP::get(URI.parse(rest_call)) # handle http errors (esp. timeouts!)
71
+ begin
72
+ Net::HTTP::get(URI.parse(rest_call)) # handle http errors (esp. timeouts!)
73
+ rescue URI::InvalidURIError
74
+ raise URI::InvalidURIError
75
+ rescue
76
+ url#in the case of a web service or HTTP error, we'll just ignore it & return the long url
77
+ end
62
78
  else
63
- url #fallback: return url to shorten - or nil if it isn't set
79
+ url #fallback: return long url if no proper login has been provided. TODO: check if a call w/o login is possible
64
80
  end
65
81
  end
66
82
  #desired articles matching a corresponding tag
@@ -1,6 +1,7 @@
1
1
  # extension to BlogHelper with special methods for serious
2
2
  require 'blog_helper'
3
3
  module SeriousBlogHelper
4
+ #extract tags from article
4
5
  def SeriousBlogHelper.tags_from_article(article=nil)
5
6
  tags_marker = %&tags"=>&
6
7
  if article && article.inspect.index(tags_marker)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blog_helper
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 9
10
- version: 0.0.9
9
+ - 10
10
+ version: 0.0.10
11
11
  platform: ruby
12
12
  authors:
13
13
  - "Sven Kr\xC3\xA4uter"
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-20 00:00:00 +02:00
18
+ date: 2010-07-21 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies: []
21
21