Browse Source

udpated thirdparty integration, it is now conditionally added, updated readme

unreleased_contents
B Mathis 15 years ago
parent
commit
24c5fedcbc
  1. 12
      README.markdown
  2. 7
      Rakefile
  3. 93
      source/_layouts/default.haml
  4. 9
      source/index.haml
  5. 10
      source/javascripts/twitter.js

12
README.markdown

@ -51,11 +51,12 @@ Kills the local web server process.
## Third Party Integration
### Twitter
To configure your twitter feed, edit twitter.js where you can set:
Twitter settings are at the top of _layouts/default.haml
You can also change:
- Account for the feed
- Number of tweets to show
- Show Mentions (true/false)
twitter_user: your_twitter_name
show_replies: false
tweet_count: 3
### Disqus Comments
Octopress has built in support for the Disqus commenting system, using the "universal code" installation method. First register your site at [http://disqus.com/comments/register/](http://disqus.com/comments/register/) Then, to enable Disqus comments on your blog, edit the YAML block at the top of the default layout:
@ -69,6 +70,9 @@ First setup sitesearch for your site at [http://google.com/sitesearch/](http://g
### Google Analytics
The analytics tracking scripts are already integrated into Octopress, all you have to do is register your site at [http://google.com/analytics/](http://google.com/analytics/).
### Removing Third party integrations
All third party integration is conditionally included. All you have to do is remove the variable from the layout and you're done. If you like, you can also remove the include blocks from the default layout.
## Style Configuration
### What you need to know
Octopress's stylesheets are written in [SASS](http://sass-lang.com). If you haven't learned SASS, you should. It's the future. Octopress also uses [Compass](http://compass-style.org) which is a framework for SASS and contains a great library of SASS mixins which make it trivial to write complicated CSS. This is also the future.

7
Rakefile

@ -20,7 +20,7 @@ end
desc "generate website in output directory"
task :default => [:generate_site, :generate_style] do
puts ">>> Site Generating Complete! <<<"
puts ">>> Site Generating Complete! <<<\n\n"
end
desc "list tasks"
@ -48,19 +48,20 @@ end
desc "Generate site files only"
task :generate_site => [:clean, :generate_style] do
puts ">>> Generating site files <<<"
puts "\n\n>>> Generating site files <<<"
system "jekyll"
system "mv #{site}/atom.html #{site}/atom.xml"
end
def rebuild_site(relative)
puts "\n"
puts ">>> Change Detected to: #{relative} <<<"
IO.popen('rake generate_site'){|io| print(io.readpartial(512)) until io.eof?}
puts '>>> Update Complete <<<'
end
def rebuild_style(relative)
puts ">>> Change Detected to: #{relative} <<<"
puts "\n\n>>> Change Detected to: #{relative} <<<"
IO.popen('rake generate_style'){|io| print(io.readpartial(512)) until io.eof?}
puts '>>> Update Complete <<<'
end

93
source/_layouts/default.haml

@ -1,8 +1,15 @@
---
blog_title: My Octopress Blog
full_url:
twitter_user: imathis
tweet_count: 4
show_replies: false
disqus_short_name:
google_site_search_id:
disqus_short_name: designenthusiast
google_analytics: true
---
!!! 1.1 Transitional
@ -15,19 +22,26 @@ disqus_short_name: designenthusiast
%meta(name="keywords" content="#{page.keywords}")/
%link(href="/stylesheets/screen.css" rel="stylesheet" media="screen projection" type="text/css")
%link(href="/atom.xml" rel="alternate" title="#{page.blog_title}" type="application/atom+xml")
%script(src="/javascripts/mootools-yui-compressed.js" type="text/javascript")
%script(src="/javascripts/mootools-1.2.4.2-more.js" type="text/javascript")
%script(src="/javascripts/twitter.js" type="text/javascript")
%script(src="http://www.google-analytics.com/ga.js" type="text/javascript")
- if page.respond_to? :twitter_user
:javascript
var twitter_user = "#{page.twitter_user}"
var show_replies = #{page.show_replies};
var tweet_count = #{page.tweet_count};
%script(src="/javascripts/mootools-yui-compressed.js" type="text/javascript")
%script(src="/javascripts/mootools-1.2.4.2-more.js" type="text/javascript")
%script(src="/javascripts/twitter.js" type="text/javascript")
- if page.respond_to? :google_analytics
%script(src="http://www.google-analytics.com/ga.js" type="text/javascript")
%body
#header
.page_width
%a.title(href="/")=page.blog_title
#search
%form(action="http://www.google.com/cse" id="cse-search-box")
%input(type="hidden" name="cx" value="#{page.google_site_search_id}")
%input(type="hidden" name="ie" value="UTF-8")
%input#q(type="text" name="q")
- if page.respond_to? :google_site_search_id
#search
%form(action="http://www.google.com/cse" id="cse-search-box")
%input(type="hidden" name="cx" value="#{page.google_site_search_id}")
%input(type="hidden" name="ie" value="UTF-8")
%input#q(type="text" name="q")
#nav
.page_width
%ul
@ -46,38 +60,43 @@ disqus_short_name: designenthusiast
%p.pubdate
Published:
=page.date.strftime("%d %b, %Y")
#disqus_thread
:javascript
var disqus_developer = true;
var disqus_url = "#{page.full_url}/#{page.url}";
%noscript
%a(href="http://designenthusiast.disqus.com/?url=ref") View the discussion thread
%script(type="text/javascript" src="http://disqus.com/forums/#{page.disqus_short_name}/embed.js")
- if page.respond_to? :disqus_short_name
#disqus_thread
:javascript
var disqus_developer = true;
var disqus_url = "#{page.full_url}/#{page.url}";
%noscript
%a(href="http://designenthusiast.disqus.com/?url=ref") View the discussion thread
%script(type="text/javascript" src="http://disqus.com/forums/#{page.disqus_short_name}/embed.js")
- else
= content
#sidebar
#twitter
#twitter_status
Status updating...
- if page.respond_to? :twitter_user
%h4 @#{page.twitter_user}
#twitter
#twitter_status
Status updating...
#footer
.page_width
= "Copyright &copy; #{Time.now.strftime('%Y')} - #{page.blog_title} | "
%span.credit Powered by <a href="http://github.com/imathis/octopress/">Octopress</a>
//Disqus Commens code
:javascript
/*(function() {
var links = document.getElementsByTagName('a');
var query = '?';
for(var i = 0; i < links.length; i++) {
if(links[i].href.indexOf('#disqus_thread') >= 0) {
query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&';
- if page.respond_to? :disqus_short_name
//Disqus Commens code
:javascript
(function() {
var links = document.getElementsByTagName('a');
var query = '?';
for(var i = 0; i < links.length; i++) {
if(links[i].href.indexOf('#disqus_thread') >= 0) {
query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&';
}
}
}
document.write('<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/#{page.disqus_short_name}/get_num_replies.js' + query + '"></' + 'script>');
})();*/
//Google Analytics code
:javascript
try {
var pageTracker = _gat._getTracker("UA-10876422-1");
pageTracker._trackPageview();
} catch(err) {}
document.write('<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/#{page.disqus_short_name}/get_num_replies.js' + query + '"></' + 'script>');
})();
- if page.respond_to? :google_analytics
//Google Analytics code
:javascript
try {
var pageTracker = _gat._getTracker("UA-10876422-1");
pageTracker._trackPageview();
} catch(err) {}

9
source/index.haml

@ -8,9 +8,10 @@ title: Blog
%h2= link_to(post.title, post.url, {:class=>"title"})
= post.content
.footer
- if post.data["comments_off"]
%em.comments_off Comments disabled
- else
%a(href="#{post.url}/#disqus_thread")Comments
- if page.respond_to? :disqus_short_name
- if post.data["comments_off"]
%em.comments_off Comments disabled
- else
%a(href="#{post.url}/#disqus_thread")Comments
.footer
%a(href="/archives.html" title="archives") &laquo; Blog Archives

10
source/javascripts/twitter.js

@ -6,13 +6,11 @@
// PrettyDate by John Resig at http://ejohn.org/files/pretty.js
//
var filter_mentions = true;
var tweet_count = 5;
var tweet_tag = 'p';
var twitter_div = 'twitter_status';
window.addEvent('domready',function() {
getTwitterStatus('imathis');
getTwitterStatus(twitter_user);
});
function showTweets(the_tweets, from_cookie){
@ -53,15 +51,15 @@ function prettyDate(time){
}
function getTwitterStatus(twitter_name){
var tweet_cookie = 'tweets_by_' + twitter_name;
var tweet_cookie = 'tweets_by_' + twitter_name + tweet_count;
$(twitter_div).set('html', 'Fetching tweets...');
if(!Cookie.read(tweet_cookie)) {
var myTwitterGitter = new TwitterGitter(twitter_name,{
count: ((!filter_mentions) ? tweet_count : 15 + tweet_count),
count: ((show_replies) ? tweet_count : 15 + tweet_count),
onComplete: function(tweets,user) {
the_tweets = Array();
tweets.each(function(tweet,i) {
if((tweet.in_reply_to_status_id && !filter_mentions) || !tweet.in_reply_to_status_id){
if((tweet.in_reply_to_status_id && show_replies) || !tweet.in_reply_to_status_id){
if(the_tweets.length == tweet_count) return;
tweet.text = tweet.text.replace(/\n/gi, '<br/>');
console.log(tweet);

Loading…
Cancel
Save