Skip to content

Commit 6383783

Browse files
committed
Rakefile with tasks to add new posts, etc.
- Add new blog post. - Add new news post. - Add new release notes post. Completely configurable.
1 parent effebb8 commit 6383783

File tree

4 files changed

+63
-4
lines changed

4 files changed

+63
-4
lines changed

Gemfile

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
source "https://rubygems.org"
33

44
# gem "rails"
5+
gem 'jekyll'
56
gem 'jekyll-feed'
67
gem 'jekyll-redirect-from'
78
gem 'jekyll-sitemap'
9+
gem 'octokit'
10+
gem 'stringex'

Gemfile.lock

+17-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4+
addressable (2.3.8)
45
colorator (0.1)
6+
faraday (0.9.2)
7+
multipart-post (>= 1.2, < 3)
58
ffi (1.9.10)
6-
jekyll (3.1.1)
9+
ffi (1.9.10-x64-mingw32)
10+
jekyll (3.1.2)
711
colorator (~> 0.1)
812
jekyll-sass-converter (~> 1.0)
913
jekyll-watch (~> 1.1)
@@ -26,20 +30,31 @@ GEM
2630
rb-fsevent (>= 0.9.3)
2731
rb-inotify (>= 0.9.7)
2832
mercenary (0.3.5)
33+
multipart-post (2.0.0)
34+
octokit (4.2.0)
35+
sawyer (~> 0.6.0, >= 0.5.3)
2936
rb-fsevent (0.9.7)
3037
rb-inotify (0.9.7)
3138
ffi (>= 0.5.0)
3239
rouge (1.10.1)
3340
safe_yaml (1.0.4)
3441
sass (3.4.21)
42+
sawyer (0.6.0)
43+
addressable (~> 2.3.5)
44+
faraday (~> 0.8, < 0.10)
45+
stringex (2.6.0)
3546

3647
PLATFORMS
3748
ruby
49+
x64-mingw32
3850

3951
DEPENDENCIES
52+
jekyll
4053
jekyll-feed
4154
jekyll-redirect-from
4255
jekyll-sitemap
56+
octokit
57+
stringex
4358

4459
BUNDLED WITH
45-
1.10.6
60+
1.11.2

Rakefile

+41
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,44 @@ task :new_news_item, [:title, :author, :extension] do |t, args|
104104
post.puts "---"
105105
end
106106
end
107+
108+
desc "Begin a new release post in /_posts. Use as rake new_release[version-number,author,file-extension]. In absence of any of those, the values will be asked for interactively. The fully formed title becomes 'Open Live Writer version-number is now available!'."
109+
task :new_release, [:version, :author, :extension] do |t, args|
110+
if args.version
111+
version = args.version
112+
else
113+
puts("Enter the version number (The fully formed title becomes 'Open Live Writer version-number is now available!'): ")
114+
version = STDIN.gets.chomp
115+
end
116+
title = "Open Live Writer #{version} is now available!"
117+
118+
if args.author
119+
author = args.author
120+
else
121+
puts("Enter your GitHub username: ")
122+
author = STDIN.gets.chomp
123+
end
124+
125+
if args.extension
126+
new_post_ext = args.extension
127+
else
128+
puts("Enter the file extension you want to use: ")
129+
new_post_ext = STDIN.gets.chomp
130+
end
131+
132+
filename = "#{posts_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}.#{new_post_ext}"
133+
if File.exist?(filename)
134+
abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
135+
end
136+
puts "Creating new post: #{filename}"
137+
open(filename, 'w') do |post|
138+
post.puts "---"
139+
post.puts "layout: default"
140+
post.puts "title: \"#{title.gsub(/&/,'&amp;')}\""
141+
post.puts "date: #{Time.now.strftime('%Y-%m-%d %H:%M:%S %z')}"
142+
post.puts "categories: [news, release]"
143+
post.puts "author: #{author}"
144+
post.puts "download: true"
145+
post.puts "---"
146+
end
147+
end

_includes/download_source.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div class="download-source">
22
<h3 class="download-source-header">Download Source</h3>
3-
<a class="zip-download-link" href="https://github.com/OpenLiveWriter/OpenLiveWriter/archive/0.5.0.0.zip"></a>
4-
<a class="tar-download-link" href="https://github.com/OpenLiveWriter/OpenLiveWriter/archive/0.5.0.0.tar.gz"></a>
3+
<a class="zip-download-link" href="https://github.com/OpenLiveWriter/OpenLiveWriter/archive/0.6.0.0.zip"></a>
4+
<a class="tar-download-link" href="https://github.com/OpenLiveWriter/OpenLiveWriter/archive/0.6.0.0.tar.gz"></a>
55
</div>

0 commit comments

Comments
 (0)