octopress-social 1.2.0 → 1.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fc69b51e6a1d4ccc410094fede2aee2d4d6af2a7
4
- data.tar.gz: 909c4cb057c933360f3e35781217685f8e976b66
3
+ metadata.gz: 897b85017a8b777f4c2e525da305201fed073713
4
+ data.tar.gz: 125b92d5eee580aaf1aa6c901ae68c5c814a4bfe
5
5
  SHA512:
6
- metadata.gz: 6715d8246cc3b68020c5b9697625515a112317d71d0ff74826996596884778286b7c4b0d61f8e2c6593ff86caf876584841370333793ae4b09153d6d68886a06
7
- data.tar.gz: 59df88675057d14007087997e82dcfeccd22530a94559a26c58f6a65b5a2bab41a070812ade795c91d357ad5d9a16c0df3f3d4f99f266afd69da68c1694d3f8a
6
+ metadata.gz: 23ef92ea65bdfd4c49e1663ffc36c0c5c4326dc6917a9d225f249163a1981b6b29efc424efb9d83f0b0c2c0580d712d9473033ec11f896b4fc5a8c9e63b7440a
7
+ data.tar.gz: c36bd80d6775eb098d9f155d09d501217b3f034f3d0395beb47f70495ad17a57f1ab2474d5d6bb4d7e8bb4dbccca39ec3fd1dd1f8ec21943c66c78c4eb891999
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ### 1.3.0 (2015-03-21)
4
+ - New: Embeddable tweets with {% tweet %} tag.
5
+ - Fixed: Default tweet message (without configured username) removes 'by' credit.
6
+ - Fixed: Tweets in post loops shared current page instead of post.
7
+
3
8
  ### 1.2.0 (2015-03-18)
4
9
  - New: Added Disqus comments link tag.
5
10
  - New: Facebook comments link tag.
data/README.md CHANGED
@@ -47,6 +47,7 @@ twitter:
47
47
  size: normal # Or large
48
48
  tweet_link_text: Twitter # Configure the link text
49
49
  tweet_message: ":title by :username :hashtags - :url" # With Tweet button Twitter add the URL last
50
+ embedded_link_color: # Set link color for embedded tweets
50
51
 
51
52
  follow_count: false # Show number of followers
52
53
  profile_link_text: "Follow :username"
@@ -101,6 +102,23 @@ Follow tags:
101
102
  {% twitter_profile_link %}
102
103
  ```
103
104
 
105
+ Embed a tweet:
106
+
107
+ ```
108
+ {% tweet status_url %}Tweet Text{% endtweet %}
109
+ ```
110
+
111
+ This will generate a blockquote, much like this one:
112
+
113
+ ```
114
+ <blockquote class="twitter-tweet" data-link-color="" lang="">
115
+ <p>[Tweet Text]</p>
116
+ <a href="[tweet_url]"> — @[user]</a>
117
+ </blockquote>
118
+ ```
119
+
120
+ If you include the twitter widget.js in your site, this will automatically be replaced with one of Twitter's fancy embedded tweets.
121
+
104
122
  ## Facebook
105
123
 
106
124
  Configure this plugin in your site's `_config.yml`.
@@ -31,7 +31,8 @@ module Octopress
31
31
  <a href="https://twitter.com/share" class="twitter-share-button"
32
32
  #{'data-size="large"' if config['size'] == 'large'}
33
33
  #{'data-count="none"' if !config['tweet_count']}
34
- #{button_message(site, item).sub(/\s?#{url}/, '')}
34
+ data-url="#{url}"
35
+ #{button_message(site, item)}
35
36
  data-dnt="true">#{config['tweet_link_text']}</a>
36
37
  }
37
38
  end
@@ -51,16 +52,17 @@ module Octopress
51
52
  end
52
53
 
53
54
  def message(site, item)
55
+ username_var = (username(item).empty? ? 'by :username' : ':username')
54
56
  (item['tweet_message'] || config['tweet_message'])
55
57
  .sub(':title', item['title'] || '')
56
- .sub(':username', username(item))
58
+ .sub(username_var, username(item))
57
59
  .sub(':url', url)
58
60
  .sub(':hashtags', hashtags(item))
59
61
  .strip
60
62
  end
61
63
 
62
64
  def button_message(site, item)
63
- %Q{data-text="#{message(site, item)}"}
65
+ %Q{data-text="#{message(site, item).sub(/\s?#{url}/, '')}"}
64
66
  end
65
67
 
66
68
  def profile_link_text
@@ -82,6 +84,32 @@ module Octopress
82
84
  "<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>"
83
85
  end
84
86
 
87
+ def tweet(site, item, url, content)
88
+ user = "@#{url.match(/.com\/(.+)?\/status/)[1]}"
89
+ %Q{<blockquote class="twitter-tweet"
90
+ data-link-color="#{config['embedded_link_color']}"
91
+ lang="#{item['lang'] || site['lang']}">
92
+ <p>#{content}</p>
93
+ <a href="#{url}"> — #{user}</a>
94
+ </blockquote>
95
+ }
96
+ end
97
+
98
+ class Tweet < Liquid::Block
99
+ def initialize(tag, input, tokens)
100
+ super
101
+ @tag = tag.strip
102
+ @input = input.strip
103
+ end
104
+
105
+ def render(context)
106
+ content = super(context)
107
+ site = context['site']
108
+ item = context['page']
109
+ Octopress::Social::Twitter.tweet(site, item, @input, content).gsub(/(\s{2,}|\n)/, ' ').strip
110
+ end
111
+ end
112
+
85
113
  class Tag < Liquid::Tag
86
114
  def initialize(tag, input, tokens)
87
115
  @tag = tag.strip
@@ -89,8 +117,8 @@ module Octopress
89
117
  end
90
118
 
91
119
  def render(context)
92
- item = Octopress::Social.item(context, @input)
93
120
  site = context['site']
121
+ item = Octopress::Social.item(context, @input)
94
122
 
95
123
  Octopress::Social::Twitter.set_config(site)
96
124
  Octopress::Social::Twitter.set_url(site, item)
@@ -1,5 +1,5 @@
1
1
  module Octopress
2
2
  module Social
3
- VERSION = "1.2.0"
3
+ VERSION = "1.3.0"
4
4
  end
5
5
  end
@@ -33,6 +33,7 @@ module Octopress
33
33
  end
34
34
  end
35
35
 
36
+ Liquid::Template.register_tag('tweet', Octopress::Social::Twitter::Tweet)
36
37
  Liquid::Template.register_tag('tweet_button', Octopress::Social::Twitter::Tag)
37
38
  Liquid::Template.register_tag('tweet_link', Octopress::Social::Twitter::Tag)
38
39
  Liquid::Template.register_tag('twitter_script_tag', Octopress::Social::Twitter::Tag)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octopress-social
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Mathis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-18 00:00:00.000000000 Z
11
+ date: 2015-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll