nesta-plugin-foldable 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +10 -0
- data/lib/nesta-plugin-foldable/init.rb +4 -14
- data/lib/nesta-plugin-foldable/version.rb +1 -1
- data/nesta-plugin-foldable.gemspec +4 -4
- data/spec/foldable-plugin-test-nesta-site/config/config.yml +67 -0
- data/spec/foldable-plugin-test-nesta-site/content/pages/testfoldandmeta.mdown +10 -0
- data/spec/foldable-plugin-test-nesta-site/content/pages/testnofoldmeta.mdown +8 -0
- data/spec/foldable-plugin-test-nesta-site/content/pages/testnofoldnometa.mdown +7 -0
- data/spec/foldable-plugin-test-nesta-site/content/pages/testwithfold.mdown +9 -0
- data/spec/foldable_spec.rb +39 -0
- metadata +63 -11
data/Rakefile
CHANGED
@@ -16,21 +16,11 @@ module Nesta
|
|
16
16
|
def summary
|
17
17
|
result = pre_fold_summary
|
18
18
|
return result if result && !result.empty?
|
19
|
-
|
20
|
-
# Sigh...it's a shame I had to copy-paste this
|
21
|
-
# from nesta's models.rb just to get rid of the
|
22
|
-
# heading.
|
23
|
-
body_text = case @format
|
24
|
-
when :mdown
|
25
|
-
markup.sub(/^#[^#].*$\r?\n(\r?\n)?/, '')
|
26
|
-
when :haml
|
27
|
-
markup.sub(/^\s*%h1\s+.*$\r?\n(\r?\n)?/, '')
|
28
|
-
when :textile
|
29
|
-
markup.sub(/^\s*h1\.\s+.*$\r?\n(\r?\n)?/, '')
|
30
|
-
end
|
31
19
|
|
32
|
-
|
33
|
-
|
20
|
+
body_markup_text = body_markup
|
21
|
+
|
22
|
+
if body_markup_text.include? '~~fold~~'
|
23
|
+
summary_text = body_markup_text.sub(/^[^\n]*~~fold~~.*\Z/m, '');
|
34
24
|
convert_to_html(@format, nil, summary_text)
|
35
25
|
else
|
36
26
|
nil
|
@@ -18,9 +18,9 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
s.add_dependency("nesta", ">= 0.9.11")
|
21
|
+
s.add_development_dependency "rspec", '1.3.0'
|
22
|
+
s.add_development_dependency "ruby-debug"
|
23
|
+
s.add_dependency("nesta", ">= 0.9.13")
|
25
24
|
s.add_development_dependency("rake")
|
25
|
+
s.add_development_dependency('test-unit', '1.2.3')
|
26
26
|
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# Title and subheading for your site. Used on the home page and in page
|
2
|
+
# titles.
|
3
|
+
#
|
4
|
+
title: "My Site"
|
5
|
+
subtitle: "(change this text in config/config.yml)"
|
6
|
+
|
7
|
+
# You should really specify your content's author when generating an
|
8
|
+
# Atom feed. Specify at least one of name, uri or email, and Nesta will
|
9
|
+
# include it in your feed. See the Atom spec for more info:
|
10
|
+
#
|
11
|
+
# http://www.atomenabled.org/developers/syndication/atom-format-spec.php#element.feed
|
12
|
+
#
|
13
|
+
# author:
|
14
|
+
# name: Your Name
|
15
|
+
# uri: http://yourhomepage.com
|
16
|
+
# email: you@yourdomain.com
|
17
|
+
|
18
|
+
# You can stick with the default look and feel, or use a theme. Themes are
|
19
|
+
# easy to create or install, and live inside the themes directory. You
|
20
|
+
# can also use scripts/theme to install them.
|
21
|
+
#
|
22
|
+
# theme: name-of-theme
|
23
|
+
|
24
|
+
# If you want to use the Disqus service (http://disqus.com) to display
|
25
|
+
# comments on your site, register a Disqus account and then specify your
|
26
|
+
# site's short name here. A comment form will automatically be added to
|
27
|
+
# the bottom of your pages.
|
28
|
+
#
|
29
|
+
# disqus_short_name: mysite
|
30
|
+
|
31
|
+
# cache
|
32
|
+
# Set it to true if you'd like Nesta to cache your pages in ./public.
|
33
|
+
# Useful if you're deploying Nesta with a proxy server such as Nginx,
|
34
|
+
# but not in the least bit helpful if your pages are dynamic, or you're
|
35
|
+
# deploying Nesta to Heroku.
|
36
|
+
#
|
37
|
+
cache: false
|
38
|
+
|
39
|
+
# content
|
40
|
+
# The root directory where nesta will look for your article files.
|
41
|
+
# Should contain "pages" and "attachments" subdirectories that contain
|
42
|
+
# your actual content and the (optional) menu.txt file that links to your
|
43
|
+
# main category pages.
|
44
|
+
#
|
45
|
+
content: content
|
46
|
+
|
47
|
+
# google_analytics_code
|
48
|
+
# Set this if you want Google Analytics to track traffic on your site.
|
49
|
+
# Probably best not to set a default value, but to set it in production.
|
50
|
+
#
|
51
|
+
# The production settings are used if you're deploying to Heroku, so
|
52
|
+
# scroll down a bit to set it in production even if you're not deploying
|
53
|
+
# to your own server.
|
54
|
+
#
|
55
|
+
# google_analytics_code: "UA-???????-?"
|
56
|
+
|
57
|
+
# Overriding "cache" and "content" in production is recommended if you're
|
58
|
+
# deploying Nesta to your own server (but see the deployment documentation
|
59
|
+
# on the Nesta site). Setting google_analytics_code in production is
|
60
|
+
# recommended regardless of how you're deploying (if you have a GA account!).
|
61
|
+
#
|
62
|
+
# Don't forget to uncomment the "production:" line too...
|
63
|
+
|
64
|
+
# production:
|
65
|
+
# cache: true
|
66
|
+
# content: /var/apps/nesta/shared/content
|
67
|
+
# google_analytics_code: "UA-???????-?"
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
require 'sinatra'
|
4
|
+
require 'nesta/env'
|
5
|
+
require 'ruby-debug'
|
6
|
+
Nesta::Env.root = File.expand_path('./foldable-plugin-test-nesta-site', File.dirname(__FILE__))
|
7
|
+
|
8
|
+
# Nesta requires the current dir to be the root
|
9
|
+
Dir.chdir(Nesta::Env.root)
|
10
|
+
|
11
|
+
require 'nesta/plugin'
|
12
|
+
require 'nesta-plugin-foldable'
|
13
|
+
require 'nesta/app'
|
14
|
+
|
15
|
+
describe "Foldable plugin" do
|
16
|
+
it "should have no summary if there is neither fold nor meta" do
|
17
|
+
page = Nesta::Page.find_by_path("testnofoldnometa")
|
18
|
+
page.summary.should be_nil
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should use the fold if it's there" do
|
22
|
+
page = Nesta::Page.find_by_path("testwithfold")
|
23
|
+
page.summary.should include("In the summary")
|
24
|
+
page.summary.should_not include("Out of the summary")
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should not use the fold if the summary is defined in metadata" do
|
28
|
+
page = Nesta::Page.find_by_path("testfoldandmeta")
|
29
|
+
page.summary.should include("Meta summary")
|
30
|
+
page.summary.should_not include("Not in the summary")
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should should still pickup a summary defined in metadata with no fold" do
|
34
|
+
page = Nesta::Page.find_by_path("testnofoldmeta")
|
35
|
+
page.summary.should include("Meta summary")
|
36
|
+
page.summary.should_not include("In the body")
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nesta-plugin-foldable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 4
|
10
|
+
version: 0.0.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Micah Chalmer
|
@@ -15,28 +15,58 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
18
|
+
date: 2012-03-04 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
21
|
+
name: rspec
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - "="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 27
|
29
|
+
segments:
|
30
|
+
- 1
|
31
|
+
- 3
|
32
|
+
- 0
|
33
|
+
version: 1.3.0
|
34
|
+
type: :development
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: ruby-debug
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 3
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
version: "0"
|
48
|
+
type: :development
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: nesta
|
52
|
+
prerelease: false
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
24
54
|
none: false
|
25
55
|
requirements:
|
26
56
|
- - ">="
|
27
57
|
- !ruby/object:Gem::Version
|
28
|
-
hash:
|
58
|
+
hash: 33
|
29
59
|
segments:
|
30
60
|
- 0
|
31
61
|
- 9
|
32
|
-
-
|
33
|
-
version: 0.9.
|
62
|
+
- 13
|
63
|
+
version: 0.9.13
|
34
64
|
type: :runtime
|
35
|
-
version_requirements: *
|
65
|
+
version_requirements: *id003
|
36
66
|
- !ruby/object:Gem::Dependency
|
37
67
|
name: rake
|
38
68
|
prerelease: false
|
39
|
-
requirement: &
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
40
70
|
none: false
|
41
71
|
requirements:
|
42
72
|
- - ">="
|
@@ -46,7 +76,23 @@ dependencies:
|
|
46
76
|
- 0
|
47
77
|
version: "0"
|
48
78
|
type: :development
|
49
|
-
version_requirements: *
|
79
|
+
version_requirements: *id004
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: test-unit
|
82
|
+
prerelease: false
|
83
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - "="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
hash: 25
|
89
|
+
segments:
|
90
|
+
- 1
|
91
|
+
- 2
|
92
|
+
- 3
|
93
|
+
version: 1.2.3
|
94
|
+
type: :development
|
95
|
+
version_requirements: *id005
|
50
96
|
description: Place a "fold" in a Nesta article and have the summary automatically set to the part of the body content that comes before it.
|
51
97
|
email:
|
52
98
|
- micah@micahchalmer.net
|
@@ -65,6 +111,12 @@ files:
|
|
65
111
|
- lib/nesta-plugin-foldable/init.rb
|
66
112
|
- lib/nesta-plugin-foldable/version.rb
|
67
113
|
- nesta-plugin-foldable.gemspec
|
114
|
+
- spec/foldable-plugin-test-nesta-site/config/config.yml
|
115
|
+
- spec/foldable-plugin-test-nesta-site/content/pages/testfoldandmeta.mdown
|
116
|
+
- spec/foldable-plugin-test-nesta-site/content/pages/testnofoldmeta.mdown
|
117
|
+
- spec/foldable-plugin-test-nesta-site/content/pages/testnofoldnometa.mdown
|
118
|
+
- spec/foldable-plugin-test-nesta-site/content/pages/testwithfold.mdown
|
119
|
+
- spec/foldable_spec.rb
|
68
120
|
homepage: https://github.com/MicahChalmer/nesta-plugin-foldable
|
69
121
|
licenses: []
|
70
122
|
|