mkblog 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/bin/mkblog CHANGED
@@ -11,7 +11,7 @@ include FileUtils
11
11
 
12
12
  def main()
13
13
  options = {
14
-
14
+ "debug" => false
15
15
  }
16
16
  option_parser = OptionParser.new do |opts|
17
17
  executable_name = File.basename($PROGRAM_NAME)
@@ -27,7 +27,7 @@ def main()
27
27
  raise ArgumentError,"name should be [a-zA-Z0-9]"
28
28
  end
29
29
  options["command"] = "generate"
30
- options["name"] = name
30
+ options["account"] = name
31
31
  end
32
32
  opts.on("-s","--show","show how to continue") do
33
33
  options["command"] = "show"
@@ -39,8 +39,8 @@ def main()
39
39
  puts options.inspect if options["debug"]
40
40
 
41
41
  case options["command"]
42
- when "generate" then generate_project(options["name"])
43
- when "show" then showhelp()
42
+ when "generate" then generate_project(options["account"],options["debug"])
43
+ when "show" then showhelp()
44
44
  else puts "--help for help"
45
45
  end
46
46
  end
@@ -50,9 +50,33 @@ def showhelp()
50
50
  puts "2. create project in github.com and push this project"
51
51
  puts "3. follow http://pages.github.com/"
52
52
  end
53
+
54
+ def guess()
55
+ username = "Larry Cai"
56
+ email = "larry.caiyu@gmail.com"
57
+
58
+ # scan ~/.gitconfig
59
+ gitconfig = ".gitconfig"
60
+ gconf = File.join(Dir.home, gitconfig)
61
+ if File.exists?(gconf)
62
+ puts "..scan `#{gconf}`"
63
+ File.open(gconf).each do |record|
64
+ name,value = record.split("=")
65
+ name.gsub!(/\t*\s*/,'')
66
+ # puts "[#{name}]" + ":"
67
+ case name
68
+ when "name" then username = value.gsub(/\t*\s*\n*/,'')
69
+ when "email" then email = value.gsub(/ /,'')
70
+ end
71
+ end
72
+ end
73
+ # puts username + ":" + email
74
+ return username,email
75
+ end
53
76
  # http://stackoverflow.com/questions/5074327/most-appropriate-way-to-generate-directory-of-files-from-directory-of-template-f
54
- def generate_project(project)
55
- destination = project + ".github.com"
77
+ def generate_project(account,debug)
78
+ destination = account + ".github.com"
79
+ username,email = guess()
56
80
  source = File.dirname(__FILE__)+"/../templates"
57
81
  #puts "generate project \"#{destination}\" from source \"#{source}\""
58
82
  FileUtils.rmtree(destination)
@@ -77,16 +101,27 @@ def generate_project(project)
77
101
  #puts relative.dirname
78
102
  #puts File.join(destination,relative.dirname,pathname.basename.sub(/\.erb$/, ''))
79
103
  target = File.join(destination,relative.dirname,pathname.basename.sub(/\.erb$/, ''))
80
- print pathname.cleanpath, " => ", target,"\n"
104
+ if debug == true
105
+ print " ", pathname.cleanpath, " => ", target,"\n"
106
+ end
81
107
  File.open(target, 'w') do |file|
82
108
  file.puts(ERB.new(File.read(path)).result(binding))
83
109
  end
84
110
  else
85
- print pathname.cleanpath, " => ", File.join(destination, relative.dirname),"\n"
111
+ if debug == true
112
+ print " ", pathname.cleanpath, " => ", File.join(destination, relative.dirname),"\n"
113
+ end
86
114
  FileUtils.cp(pathname, File.join(destination, relative.dirname))
87
115
  end
88
116
  end
89
117
  end
118
+ puts
119
+ puts "The blog is now yours"
120
+ puts "=> name:" + username
121
+ puts "=> email:" + email
122
+ puts "=> github: http://github.com/" + account
123
+ puts "please run `cd " + account + ".github.com/" + " ; jekyll --server'"
124
+ puts "Then and open browser to http://localhost:4000 see the magic"
90
125
  end
91
126
 
92
127
  main
@@ -1,3 +1,3 @@
1
1
  module MkBlog
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
@@ -4,7 +4,7 @@
4
4
  <html>
5
5
  <head>
6
6
  <meta http-equiv="Content-type" content="text/html; charset=utf-8">
7
- <title>Larry Cai - {{ page.title }}</title>
7
+ <title><%= username %> - {{ page.title }}</title>
8
8
  <link rel="stylesheet" href="/stylesheets/master.css" type="text/css" media="screen" charset="utf-8"/>
9
9
  <link rel="stylesheet" href="/stylesheets/syntax.css" type="text/css" media="screen" charset="utf-8"/>
10
10
  <script src="/javascripts/jquery.js" type="text/javascript" charset="utf-8"></script>
@@ -14,13 +14,13 @@
14
14
  <body>
15
15
  <div id='wrapper'>
16
16
  <div id='header'>
17
- <h1><a href='/'>Larry Cai</a></h1>
17
+ <h1><a href='/'><%= username %></a></h1>
18
18
 
19
19
  <div id='menu'>
20
20
  <ul>
21
21
  <li><a href='/blog.html' id='blog_link' title='Blog'>Blog</a></li>
22
22
  <li><a href='/about.html' id='about_link' title='About'>About</a></li>
23
- <li><a href='http://github.com/larrycai' target='_blank' title='GitHub' rel='me' id='github_link'>GitHub</a></li>
23
+ <li><a href='http://github.com/<%= account %>' target='_blank' title='GitHub' rel='me' id='github_link'>GitHub</a></li>
24
24
  <li><a href='http://cn.linkedin.com/in/larrycaiyu' title='LinkedIn' target='_blank' rel='me' id='linkedin_link'>LinkedIn</a></li>
25
25
  <li><a href='http://weibo.com/larrycaiyu' title='Weibo' target='_blank' rel='me' id='weibo_link'>Weibo</a></li>
26
26
  </ul>
@@ -32,7 +32,7 @@
32
32
  </div>
33
33
  </div>
34
34
  <div id='footer'>
35
- Copyright &copy; 2011 Larry Cai. Hosted by <a href='http://github.com/larrycai/larrycai.github.com/' target='_blank'>GitHub</a> and powered by <a href='http://github.com/mojombo/jekyll'>Jekyll</a>, and reuse the template from <a href='http://github.com/mbleigh/mbleigh.github.com/'>Michael Bleigh</a>.
35
+ Copyright &copy; 2011 <%= username %>. Hosted by <a href='http://github.com/<%= account %>/<%= account %>.github.com/' target='_blank'>GitHub</a> and powered by <a href='http://github.com/mojombo/jekyll'>Jekyll</a>, and reuse the template from <a href='http://github.com/mbleigh/mbleigh.github.com/'>Michael Bleigh</a>.
36
36
  </div>
37
37
  <script type="text/javascript">
38
38
  /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
@@ -21,7 +21,7 @@ layout: master
21
21
  </div>
22
22
 
23
23
  <script type="text/javascript" charset="utf-8">
24
- var disqus_url = "http://larrycai.github.com/{{page.url}}";
24
+ var disqus_url = "http://<%= account %>.github.com/{{page.url}}";
25
25
  </script>
26
26
  <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
27
27
  <a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
@@ -4,26 +4,28 @@ title: 5分钟快速架设个人博客
4
4
  ---
5
5
 
6
6
  #介绍#
7
- 现在很多人都有博客,为什么不自己来一个呢。最方便的是放在Github上,假设你有个Github账号`<%= project %>`
7
+ 现在很多人都有博客,为什么不自己来一个呢。最方便的是放在Github上,假设你有个Github账号`<%= account %>`
8
8
 
9
9
  gem install mkblog
10
- mkblog --generate <%= project %>
11
- cd <%= project %>.github.com
10
+ mkblog --generate <%= account %>
11
+ cd <%= account %>.github.com
12
12
  jekyll --server
13
13
 
14
14
  好了打开浏览器访问 <http://localhost:4000> 。
15
15
 
16
- 当然还没做好,你看到的是Larry Cai的东西,试着改成你自己的吧,我会用模板自动化起来,现在还是手工吧。
16
+ 当然还没做好,你看到有些是Larry Cai的东西,试着改成你自己的吧,我会用模板自动化起来,现在还是手工吧。
17
17
 
18
18
  about.title
19
19
  blog.html
20
20
  index.html
21
+ _layout/master.html
22
+ _layout/post.html
21
23
 
22
- 现在就可以把东西放到Github上了。在<http://github.com/<%= project %>>建一个`<%= project %>.github.com`,然后上传。
24
+ 现在就可以把东西放到Github上了。在<http://github.com/<%= account %>>建一个`<%= account %>.github.com`,然后上传。
23
25
 
24
26
  再在你的项目中按照[github:pages](http://pages.github.com/)配好。
25
27
 
26
- 现在你就可以看到 <http://<%= project %>.github.com> 了,如果有自己的域名就可以转过来了。
28
+ 现在你就可以看到 <http://<%= account %>.github.com> 了,如果有自己的域名就可以转过来了。
27
29
 
28
30
  忘了说怎么写博客了,把文件放在 `_posts`即可。
29
31
 
@@ -4,22 +4,22 @@ layout: nil
4
4
  <?xml version="1.0" encoding="utf-8"?>
5
5
  <feed xmlns="http://www.w3.org/2005/Atom">
6
6
 
7
- <title>Larry Cai</title>
8
- <link href="http://<%= project %>.github.com/atom.xml" rel="self"/>
9
- <link href="http://<%= project %>.github.com"/>
7
+ <title><%= username %></title>
8
+ <link href="http://<%= account %>.github.com/atom.xml" rel="self"/>
9
+ <link href="http://<%= account %>.github.com"/>
10
10
  <updated>{{ site.time | date_to_xmlschema }}</updated>
11
- <id><%= project %>.github.com</id>
11
+ <id><%= account %>.github.com</id>
12
12
  <author>
13
- <name>Larry Cai</name>
14
- <email>larry.caiyu@gmail.com</email>
13
+ <name><%= username %></name>
14
+ <email><%= email %></email>
15
15
  </author>
16
16
 
17
17
  {% for post in site.posts %}
18
18
  <entry>
19
19
  <title>{{ post.title }}</title>
20
- <link href="http://<%= project %>.github.com{{ post.url }}"/>
20
+ <link href="http://<%= account %>.github.com{{ post.url }}"/>
21
21
  <updated>{{ post.date | date_to_xmlschema }}</updated>
22
- <id>http://<%= project %>.github.com{{ post.id }}</id>
22
+ <id>http://<%= account %>.github.com{{ post.id }}</id>
23
23
  <content type="html">{{ post.content | xml_escape }}</content>
24
24
  </entry>
25
25
  {% endfor %}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  layout: master
3
- title: Larry Cai's blog on the github
3
+ title: <%= username %>
4
4
  full_posts: 3
5
5
  ---
6
6
 
@@ -25,7 +25,7 @@ full_posts: 3
25
25
  <div class="sidebar-item">
26
26
  <dl>
27
27
  <dt>邮件:</dt>
28
- <dd>larry.caiyu AT gmail.com </dd>
28
+ <dd><%= email %></dd>
29
29
 
30
30
  <dt>微博:</dt>
31
31
  <dd><a href="http://weibo.com/larrycaiyu">http://weibo.com/larrycaiyu</a></dd>
@@ -39,7 +39,7 @@ full_posts: 3
39
39
  </div>
40
40
 
41
41
  <script type="text/javascript" charset="utf-8">
42
- $.githubUser('<%= project %>', function(data) {
42
+ $.githubUser('<%= account %>', function(data) {
43
43
  $('#github-projects').html('');
44
44
 
45
45
  var repos = data.user.repositories;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mkblog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-03-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aruba
16
- requirement: &25600236 !ruby/object:Gem::Requirement
16
+ requirement: &24945000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.4.6
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *25600236
24
+ version_requirements: *24945000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: jekyll
27
- requirement: &25599936 !ruby/object:Gem::Requirement
27
+ requirement: &24944760 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *25599936
35
+ version_requirements: *24944760
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rdiscount
38
- requirement: &25599648 !ruby/object:Gem::Requirement
38
+ requirement: &24944472 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *25599648
46
+ version_requirements: *24944472
47
47
  description: ! 'generate jekyll based blog '
48
48
  email:
49
49
  - larry.caiyu@gmail.com
@@ -82,8 +82,8 @@ files:
82
82
  - templates/stylesheets/master.css
83
83
  - templates/stylesheets/syntax.css
84
84
  - templates/_config.yml
85
- - templates/_layouts/master.html
86
- - templates/_layouts/post.html
85
+ - templates/_layouts/master.html.erb
86
+ - templates/_layouts/post.html.erb
87
87
  - templates/_posts/2012-03-16-setup-blog-in-5minutes.mkd.erb
88
88
  - templates/_site/about.html
89
89
  - templates/_site/atom.xml