danmayer-resume 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gems ADDED
@@ -0,0 +1,5 @@
1
+ less
2
+ erubis
3
+ sinatra --version 1.0
4
+ rdiscount
5
+ maruku
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ *.swp
2
+ ./tmp
3
+ tmp/
4
+ bin/*
5
+ pkg
6
+ *.gemspec
data/README.md ADDED
@@ -0,0 +1,77 @@
1
+ # Resume
2
+
3
+ This started as just a simple place to store a markdown format of my resume,
4
+ and now it's turned into an easy way to host your resume using sinatra and
5
+ Heroku.
6
+
7
+ It was then extended as a way to server your resume in multiple formats (LaTex, MarkDown, HTML, and soon PDF).
8
+ It also became a way to easily update and manager your github user page (user.github.com). Since this is powered by
9
+ MarkDown it also integrates well with GitHubs jobs search (http://github.com/blog/553-looking-for-a-job-let-github-help).
10
+
11
+ Lastly, it packages up your resume and info into an installable Rubygem. This was just a clever idea I saw suggested by
12
+ Eric Davis and figured it would be cool to implement (http://groups.google.com/group/rails-business/msg/68cf8a890c0d4fc8?pli=1).
13
+ This focuses on making it as simple and easy to update and publish your resume as possible, while offering it in a variety of formats.
14
+
15
+ Currently it is best to fork the project and override a few of the data files to customize the project for yourself.
16
+ At the moment you need to override resume.yml and resume.md in the root directory with your own info.
17
+
18
+ Contributions and ideas for the resume app are welcome, anything that makes the process simpler would be encouraged.
19
+
20
+ # Authors
21
+
22
+ * Nathaniel "Nat" Welch (icco)
23
+ * Dan Mayer (danmayer)
24
+
25
+ ## Installation
26
+
27
+ Basic resume in multiple formats on Heroku
28
+
29
+ 1. Fork this project
30
+ 2. Install the gems (see the .gems file)
31
+ 3. To deploy to Heroku, also install the heroku gem, and intialize a heroku project
32
+ * Run ` rake heroku:create name=batman-resume`
33
+ 4. type `rake run` or `ruby ./resume.rb` to run sinatra locally (http://localhost:4567).
34
+ 5. Edit views/style.less to make your resume look pretty.
35
+ 6. Edit everything until it looks exactly how you like it. I suggest using Dingus for testing your Markdown (http://daringfireball.net/projects/markdown/dingus)
36
+ 7. `rake deploy:heroku` to push your resume to the internet on heroku (http://batman-resume.heroku.com).
37
+
38
+ OPTIONAL (GitHub Personal Page Deploy)
39
+
40
+ * Deploy to github personal page (http://username.github.com)
41
+ 1. Add the github remote repo for your pages (like so `git remote add github git@github.com:user/user.github.com.git`)
42
+ 2. run `rake render_for_github`, which will render a index.html and style.css to your root directory
43
+ 3. run `git add index.html` and `git add style.css` and `git commit -a -m "adding github pages files"
44
+ 4. `rake deploy:github`
45
+ 5. Visit http://user.github.com
46
+
47
+ OPTIONAL (Publish personal resume gem)
48
+
49
+ 1. Edit resume.yml to include your information.
50
+ 2. Wait cause this is currently in progress.
51
+
52
+ ## TODOs
53
+
54
+ * Make tests generic from resume
55
+ * Make the resume file not included in the git repo
56
+ * update readme to reflect changes, updates, and new goals of the project (and likely update rake task names etc)
57
+ * fork me on github corner banner, can be displayed on html, but not rendered to other formats
58
+ * automatic conversion to various formats HTML, LaTeX, PDF, and allow downloading in any of the formats
59
+ * http://github.com/rtomayko/rdiscount (current)
60
+ * http://kramdown.rubyforge.org/
61
+ * http://maruku.rubyforge.org/ (pdf support)
62
+ * http://github.com/alphabetum/pandoc-ruby (many formats RTF docbook man ODF slides etc)
63
+ * http://railsforum.com/viewtopic.php?id=35844
64
+ * http://rtomayko.github.com/ronn/ (markdown to man page)
65
+ * possibly merge with a resume generator which after filling out some info via forms or yaml can generate varios resumes in all formats
66
+ * Users could submit templates / stylesheets allowing for differently formatted resumes
67
+ * rake task that generates proper single use gemfile and executable
68
+ * make sinatra app depend on the gem
69
+ * better filenames for the downloaded resume in various formats (currently saves as latex and markdown)
70
+
71
+
72
+ ## License
73
+
74
+ resume.md is property of Nathaniel "Nat" Welch. You are welcome to use it as a
75
+ base structure for your resume, but don't forget, you are not him.
76
+
77
+ The rest of the code is licensed CC-GPL. Remember sharing is caring.
data/Rakefile ADDED
@@ -0,0 +1,104 @@
1
+ require 'rake/testtask'
2
+
3
+ task :default => ['test']
4
+
5
+ GEM_NAME = "danmayer-resume"
6
+
7
+ desc "run sintra server locally"
8
+ task :run do
9
+ exec "ruby resume.rb"
10
+ end
11
+
12
+ begin
13
+ require 'jeweler'
14
+ Jeweler::Tasks.new do |gemspec|
15
+ gemspec.name = GEM_NAME
16
+ gemspec.summary = "Resume gem"
17
+ gemspec.description = "A gem for Dan Mayer's resume"
18
+ gemspec.email = "dan@mayerdan.com"
19
+ gemspec.homepage = "http://github.com/danmayer/Resume"
20
+ gemspec.authors = ["Dan Mayer"]
21
+ gemspec.executables = [GEM_NAME]
22
+ end
23
+ Jeweler::GemcutterTasks.new
24
+ rescue LoadError
25
+ puts "Jeweler not available. Install it with: gem install jeweler"
26
+ end
27
+
28
+ task :build => [:generate_exe]
29
+
30
+ desc "generate the gem executable"
31
+ task :generate_exe do
32
+ puts "copying executable from template"
33
+ `cp lib/resume_exe bin/#{GEM_NAME}`
34
+ puts "giving new file chmod +x"
35
+ `chmod o+x bin/#{GEM_NAME}`
36
+ end
37
+
38
+ desc "run all tests"
39
+ task :test do
40
+ Rake::Task['test:rack'].invoke
41
+ Rake::Task['test:unit'].invoke
42
+ end
43
+
44
+ namespace :test do
45
+ desc "run rack tests"
46
+ Rake::TestTask.new(:rack) do |t|
47
+ t.libs << "test"
48
+ t.pattern = "test/rack/**/*_test.rb"
49
+ t.verbose = true
50
+ end
51
+
52
+ desc "run unit tests"
53
+ Rake::TestTask.new(:unit) do |t|
54
+ t.libs << "test"
55
+ t.pattern = "test/unit/**/*_test.rb"
56
+ t.verbose = true
57
+ end
58
+ end
59
+
60
+ desc "render github index page, which can be displayed at user.github.com"
61
+ task :render_for_github do
62
+ require File.join(File.dirname(__FILE__), 'resume_gem')
63
+ resume = Resume.new('resume.yml')
64
+ resume.write_html_and_css_to_disk('./')
65
+ end
66
+
67
+ namespace :heroku do
68
+
69
+ desc "create a heroku project for your resume"
70
+ task :create do
71
+ unless ENV.include?("name")
72
+ raise "usage: rake heroku:create name=PROJECT_NAME # example danmayer-resume\n"
73
+ end
74
+ project_name = ENV['name']
75
+ puts "creating heroku project #{project_name}"
76
+ puts `heroku create #{project_name}`
77
+ end
78
+
79
+ end
80
+
81
+ namespace :deploy do
82
+ desc "Deploy to Heroku."
83
+ task :heroku do
84
+ `git push heroku master`
85
+ end
86
+
87
+ desc "Deploy to Github pages."
88
+ task :github => [:render_for_github] do
89
+ # this assumes you have made a remote called github
90
+ # `git remote add github git@github.com:username/username.github.com.git`
91
+ # this should push your resume to http://username.github.com
92
+ `git push github master`
93
+ end
94
+ end
95
+
96
+ namespace :github do
97
+ desc "render github index page, which can be displayed at user.github.com"
98
+ task :render_pages do
99
+ require File.join(File.dirname(__FILE__), 'resume_gem')
100
+ resume = Resume.new('resume.yml')
101
+ puts "writing resume github index files to disk"
102
+ resume.write_html_and_css_to_disk('./')
103
+ end
104
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
data/config.ru ADDED
@@ -0,0 +1,5 @@
1
+
2
+ ## Just run the application
3
+ require 'resume'
4
+ run Sinatra::Application
5
+
data/data/resume.md ADDED
@@ -0,0 +1,80 @@
1
+ Daniel Mayer
2
+ dan@mayerdan.com
3
+ 503-819-3246
4
+ 821 Maryland Ave NE #305
5
+ Washington, DC 20002
6
+
7
+ [GitHub](http://github.com/danmayer)
8
+ [Blog](http://mayerdan.com)
9
+
10
+ Skills
11
+ ----------------
12
+
13
+ * Ruby
14
+ * Rails
15
+ * Sinatra
16
+ * Merb
17
+ * EventMachine
18
+ * DataMapper
19
+ * Custom EventMachine-based protocols
20
+
21
+ * Tools
22
+ * Linux
23
+ * OS X
24
+ * Javascript (JQuery/Prototype)
25
+ * HTML
26
+ * Amazon Web Services (Ec2, SimpleDB, S3, SQS)
27
+ * Distributed Computing
28
+ * Apache
29
+ * MySQL
30
+ * PostgreSQL
31
+ * Schemaless DBs (NoSql)
32
+ * RESTul webservice API's
33
+
34
+ * Style
35
+ * Pair Programming
36
+ * Test-Focused Development
37
+ * Distributed Teams
38
+ * Agile team management
39
+ * Contributor to Ruby OSS software
40
+ * Active on Github
41
+
42
+ Work Experience
43
+ ---------------
44
+ __Devver__
45
+ Founder / CTO / Ruby Software Developer
46
+ April 2008 - April 2010
47
+ Software startup to make the lives of developers easier. Originally developed accelerated testing for Ruby developers. More recently, launched getcaliper.com, which builds code analytics for all Rubygems and builds metrics for public and private git-based Ruby projects.
48
+
49
+ * Built accelerated testing tool, using distributed computing services to run developer tests
50
+ * Developed a cloud-based continuous integration server and notification services
51
+ * Developed cloud-based code metrics and analytics project analyzer, which integrated with Rubygems.org to provide analytics on all public Rubygems and many OSS git-based projects (7000+ projects)
52
+ * Member of a distributed agile team -- practiced daily standups, remote pair programming, and continious integration
53
+ * Worked extensively with cloud based services and distributed computing techniques. (EC2, Beanstalkd queues, Schemaless SimpleDB, S3)
54
+ * Developed and deployed EventMachine, Merb, Rails, and Sinatra in production environments.
55
+
56
+ __Pretheory__
57
+ Founder
58
+ May 2007 - April 2008
59
+ Small Denver-based consumer web startup. Built [Seekler.com](http://seekler.com) to help people find the best of everything online by user generated social, community-based top 10 lists on consumer-driven topics or products.
60
+
61
+ __Indigio__
62
+ Java Lead Engineer
63
+ August 2006 - May 2007
64
+ Developed web sites for Fortune 500 companies. Managed a small Java team with local and international remote employees.
65
+
66
+
67
+ __Impact Science & Technology (IST)__
68
+ Java Software Engineer
69
+ December 2005 - June 2006
70
+ Developed full lifecycle of a DOD distributed synchronous infrastructure in Java.
71
+
72
+
73
+ Education
74
+ ---------------
75
+ University of Colorado
76
+ Boulder, CO
77
+ B.S., Computer Science
78
+ GPA: 3.185
79
+
80
+ _References available on request_
data/data/resume.yml ADDED
@@ -0,0 +1,3 @@
1
+ mission_statement: "I am looking for an exciting Ruby position where I can make a difference. I am looking to learn and be challenge while continuing to improve my development skills. Personally, I enjoy getting projects out to production for real world use. I work best with small focused teams who release early and often. I enjoy working with clients, customers, and/or users to drive the needs of a product and am increasingly interested in applying lean principles to development. I am currently searching to work with an intelligent team where we can all learn from each other and improve how projects are made."
2
+ contact_information: "phone: 503-819-3246\nemail:dan@mayerdan.com"
3
+ resume_url: "http://resume.mayerdan.com"
data/index.html ADDED
@@ -0,0 +1,104 @@
1
+ <html>
2
+ <head>
3
+ <title>Dan Mayer's Resume</title>
4
+ <link href="style.css" media="screen" rel="stylesheet" type="text/css" />
5
+ </head>
6
+ <body>
7
+ <div id="resume">
8
+ <p>Daniel Mayer<br/>
9
+ dan@mayerdan.com<br/>
10
+ 503-819-3246<br/>
11
+ 821 Maryland Ave NE #305<br/>
12
+ Washington, DC 20002</p>
13
+
14
+ <p><a href="http://github.com/danmayer">GitHub</a><br/>
15
+ <a href="http://mayerdan.com">Blog</a></p>
16
+
17
+ <h2>Skills</h2>
18
+
19
+ <ul>
20
+ <li><p>Ruby</p>
21
+
22
+ <ul>
23
+ <li>Rails</li>
24
+ <li>Sinatra</li>
25
+ <li>Merb</li>
26
+ <li>EventMachine</li>
27
+ <li>DataMapper</li>
28
+ <li>Custom EventMachine-based protocols</li>
29
+ </ul>
30
+ </li>
31
+ <li><p>Tools</p>
32
+
33
+ <ul>
34
+ <li>Linux</li>
35
+ <li>OS X</li>
36
+ <li>Javascript (JQuery/Prototype)</li>
37
+ <li>HTML</li>
38
+ <li>Amazon Web Services (Ec2, SimpleDB, S3, SQS)</li>
39
+ <li>Distributed Computing</li>
40
+ <li>Apache</li>
41
+ <li>MySQL</li>
42
+ <li>PostgreSQL</li>
43
+ <li>Schemaless DBs (NoSql)</li>
44
+ <li>RESTul webservice API&rsquo;s</li>
45
+ </ul>
46
+ </li>
47
+ <li><p>Style</p>
48
+
49
+ <ul>
50
+ <li>Pair Programming</li>
51
+ <li>Test-Focused Development</li>
52
+ <li>Distributed Teams</li>
53
+ <li>Agile team management</li>
54
+ <li>Contributor to Ruby OSS software</li>
55
+ <li>Active on Github</li>
56
+ </ul>
57
+ </li>
58
+ </ul>
59
+
60
+
61
+ <h2>Work Experience</h2>
62
+
63
+ <p><strong>Devver</strong><br/>
64
+ Founder / CTO / Ruby Software Developer<br/>
65
+ April 2008 &ndash; April 2010<br/>
66
+ Software startup to make the lives of developers easier. Originally developed accelerated testing for Ruby developers. More recently, launched getcaliper.com, which builds code analytics for all Rubygems and builds metrics for public and private git-based Ruby projects.</p>
67
+
68
+ <ul>
69
+ <li>Built accelerated testing tool, using distributed computing services to run developer tests</li>
70
+ <li>Developed a cloud-based continuous integration server and notification services</li>
71
+ <li>Developed cloud-based code metrics and analytics project analyzer, which integrated with Rubygems.org to provide analytics on all public Rubygems and many OSS git-based projects (7000+ projects)</li>
72
+ <li>Member of a distributed agile team &mdash; practiced daily standups, remote pair programming, and continious integration</li>
73
+ <li>Worked extensively with cloud based services and distributed computing techniques. (EC2, Beanstalkd queues, Schemaless SimpleDB, S3)</li>
74
+ <li>Developed and deployed EventMachine, Merb, Rails, and Sinatra in production environments.</li>
75
+ </ul>
76
+
77
+
78
+ <p><strong>Pretheory</strong><br/>
79
+ Founder<br/>
80
+ May 2007 &ndash; April 2008<br/>
81
+ Small Denver-based consumer web startup. Built <a href="http://seekler.com">Seekler.com</a> to help people find the best of everything online by user generated social, community-based top 10 lists on consumer-driven topics or products.</p>
82
+
83
+ <p><strong>Indigio</strong><br/>
84
+ Java Lead Engineer<br/>
85
+ August 2006 &ndash; May 2007<br/>
86
+ Developed web sites for Fortune 500 companies. Managed a small Java team with local and international remote employees.</p>
87
+
88
+ <p><strong>Impact Science &amp; Technology (IST)</strong><br/>
89
+ Java Software Engineer<br/>
90
+ December 2005 &ndash; June 2006<br/>
91
+ Developed full lifecycle of a DOD distributed synchronous infrastructure in Java.</p>
92
+
93
+ <h2>Education</h2>
94
+
95
+ <p>University of Colorado<br/>
96
+ Boulder, CO<br/>
97
+ B.S., Computer Science<br/>
98
+ GPA: 3.185</p>
99
+
100
+ <p><em>References available on request</em></p>
101
+
102
+ </div>
103
+ </body>
104
+ </html>
data/lib/resume_gem.rb ADDED
@@ -0,0 +1,65 @@
1
+ require 'rubygems'
2
+ require 'maruku'
3
+ require 'rdiscount'
4
+ require 'launchy'
5
+ require 'fileutils'
6
+ require 'less'
7
+ require 'erubis'
8
+
9
+ class Resume
10
+
11
+ def initialize(resume_data = 'resume.yml', resume_content = 'resume.md')
12
+ base = File.join(File.dirname(__FILE__),'..','data')
13
+ @resume = resume_data.is_a?(String) ? YAML::load_file(File.join(base,resume_data)) : resume_data
14
+ @resume_content = resume_content.is_a?(String) ? File.read(File.join(base,resume_content)) : resume_content
15
+ end
16
+
17
+ def mission_statement
18
+ @resume['mission_statement']
19
+ end
20
+
21
+ def contact_information
22
+ contact_info = @resume['contact_information']
23
+ contact_info += "\nresume url: #{@resume['resume_url']}" if @resume['resume_url']
24
+ contact_info
25
+ end
26
+
27
+ def open_resume_site
28
+ url = @resume['resume_url']
29
+ Launchy::Browser.new.visit(url)
30
+ end
31
+
32
+ def text
33
+ @resume_content
34
+ end
35
+
36
+ def latex
37
+ doc = Maruku.new(@resume_content)
38
+ doc.to_latex_document
39
+ end
40
+
41
+ def html
42
+ title = "Dan Mayer's Resume"
43
+ resume = RDiscount.new(@resume_content, :smart).to_html
44
+ eruby = Erubis::Eruby.new(File.read('./views/index.erubis'))
45
+ eruby.result(binding())
46
+ end
47
+
48
+ def write_html_and_css_to_disk(root_path = './tmp')
49
+ FileUtils.mkdir_p root_path unless File.exists?(root_path)
50
+
51
+ css = Less::Engine.new(File.new("views/style.less")).to_css
52
+ tmp_css = File.join(root_path,'style.css')
53
+ File.open(tmp_css, 'w') {|f| f.write(css) }
54
+
55
+ tmp_file = File.join(root_path,'index.html')
56
+ File.open(tmp_file, 'w') {|f| f.write(self.html) }
57
+ tmp_file
58
+ end
59
+
60
+ def open_html
61
+ tmp_file = write_html_and_css_to_disk()
62
+ Launchy::Browser.new.visit("file://"+File.expand_path(tmp_file))
63
+ end
64
+
65
+ end
data/resume.rb ADDED
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/ruby1.8
2
+ # A Sinatra app for displaying one's resume in multiple formats
3
+
4
+ require 'rubygems'
5
+ require 'sinatra'
6
+ require 'less'
7
+ require 'rdiscount'
8
+ require 'maruku'
9
+
10
+ get '/' do
11
+ title = "Dan Mayer's Resume"
12
+ resume = RDiscount.new(resume_data, :smart).to_html
13
+ erubis :index, :locals => { :title => title, :resume => resume, :formats => true }
14
+ end
15
+
16
+ get '/style.css' do
17
+ content_type 'text/css', :charset => 'utf-8'
18
+ less :style
19
+ end
20
+
21
+ get '/latex' do
22
+ content_type 'application/x-latex'
23
+ doc = Maruku.new(resume_data)
24
+ doc.to_latex_document
25
+ end
26
+
27
+ get '/markdown' do
28
+ content_type 'application/markdown'
29
+ resume_data
30
+ end
31
+
32
+ def resume_data
33
+ File.read("data/resume.md")
34
+ end
data/style.css ADDED
@@ -0,0 +1,35 @@
1
+ body { color: #000000; }
2
+ .clearfix:after {
3
+ content: ".";
4
+ display: block;
5
+ height: 0;
6
+ clear: both;
7
+ visibility: hidden;
8
+ }
9
+ #formats {
10
+ width: 800px;
11
+ margin-left: auto;
12
+ margin-right: auto;
13
+ font-family: serif;
14
+ background-color: #f2f2f2;
15
+ }
16
+ #resume {
17
+ width: 700px;
18
+ margin-left: auto;
19
+ margin-right: auto;
20
+ font-family: serif;
21
+ }
22
+ #resume blockquote {
23
+ border-left: 5px solid #dddddd;
24
+ margin: 1em 0;
25
+ padding-left: 0.6em;
26
+ }
27
+ #resume a {
28
+ color: #4183c4;
29
+ text-decoration: none;
30
+ }
31
+ #resume a:visited {
32
+ color: #4183c4;
33
+ text-decoration: none;
34
+ }
35
+ #resume a:hover { text-decoration: underline; }
@@ -0,0 +1,45 @@
1
+ require 'resume'
2
+ require 'test/unit'
3
+ require 'rack/test'
4
+
5
+ set :environment, :test
6
+
7
+ class ResumeTest < Test::Unit::TestCase
8
+ include Rack::Test::Methods
9
+
10
+ def app
11
+ Sinatra::Application
12
+ end
13
+
14
+ #todo make tests user independant
15
+ def test_title_matches_user
16
+ get '/'
17
+ assert last_response.ok?
18
+ assert_match "<title>Dan Mayer's Resume</title>", last_response.body
19
+ end
20
+
21
+ def test_it_includes_a_email
22
+ get '/'
23
+ assert last_response.body.match(/dan@mayerdan\.com/)
24
+ end
25
+
26
+ def test_it_can_convert_to_latex
27
+ get '/latex'
28
+ assert last_response.ok?
29
+ assert_match "begin{document}", last_response.body
30
+ end
31
+
32
+ def test_it_can_display_markdown
33
+ get '/markdown'
34
+ assert last_response.ok?
35
+ assert_match "Daniel Mayer", last_response.body
36
+ end
37
+
38
+ def test_it_supports_linked_formats
39
+ get '/'
40
+ assert_match "HTML", last_response.body
41
+ assert_match "LaTeX", last_response.body
42
+ assert_match "Markdown", last_response.body
43
+ end
44
+
45
+ end
@@ -0,0 +1,37 @@
1
+ require 'lib/resume_gem'
2
+ require 'test/unit'
3
+
4
+ class ResumeGemTest < Test::Unit::TestCase
5
+
6
+ def test_mission_statement
7
+ resume = Resume.new({'mission_statement' => 'mission'})
8
+ assert_equal "mission", resume.mission_statement
9
+ end
10
+
11
+ def test_contact_information
12
+ resume = Resume.new({'contact_information' => "phone: 511-2305\nemail:test@test.com"})
13
+ assert_equal "phone: 511-2305\nemail:test@test.com", resume.contact_information
14
+ end
15
+
16
+ def test_contact_information_includes_resume_url
17
+ resume = Resume.new({'contact_information' => "phone: 511-2305\nemail:test@test.com",
18
+ 'resume_url' => 'http://resume.com'})
19
+ assert_match "http://resume.com", resume.contact_information
20
+ end
21
+
22
+ def test_text
23
+ resume = Resume.new({})
24
+ assert_match "Daniel Mayer", resume.text
25
+ end
26
+
27
+ def test_latex
28
+ resume = Resume.new({})
29
+ assert_match "begin{document}", resume.latex
30
+ end
31
+
32
+ def test_html
33
+ resume = Resume.new({})
34
+ assert_match "<p>", resume.html
35
+ end
36
+
37
+ end
@@ -0,0 +1,16 @@
1
+ <html>
2
+ <head>
3
+ <title><%= title %></title>
4
+ <link href="style.css" media="screen" rel="stylesheet" type="text/css" />
5
+ </head>
6
+ <body>
7
+ <% if defined? formats && formats %>
8
+ <div id='formats'>
9
+ Formats: <a href="/">HTML</a> | <a href='latex'>LaTeX</a> | <a href='markdown'>Markdown</a>
10
+ </div>
11
+ <% end %>
12
+ <div id="resume">
13
+ <%= resume %>
14
+ </div>
15
+ </body>
16
+ </html>
data/views/style.less ADDED
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Less based style sheet.
3
+ */
4
+
5
+ body {
6
+ color: #000;
7
+ }
8
+
9
+ /**
10
+ * Fix float problem.
11
+ * http://www.positioniseverything.net/easyclearing.html
12
+ */
13
+ .clearfix:after {
14
+ content: ".";
15
+ display: block;
16
+ height: 0;
17
+ clear: both;
18
+ visibility: hidden;
19
+ }
20
+
21
+ #formats {
22
+ width: 800px;
23
+ margin-left: auto;
24
+ margin-right: auto;
25
+ font-family: serif;
26
+ background-color: #F2F2F2;
27
+ }
28
+
29
+ #resume {
30
+ width: 700px;
31
+ margin-left: auto;
32
+ margin-right: auto;
33
+ font-family: serif;
34
+
35
+ h1 {
36
+
37
+ }
38
+
39
+ h2, h3, h4, h5, h6 {
40
+
41
+ }
42
+
43
+ p {
44
+
45
+ }
46
+
47
+ ul {
48
+ li {
49
+
50
+ }
51
+ }
52
+
53
+ blockquote {
54
+ border-left: 5px solid #DDDDDD;
55
+ margin: 1em 0;
56
+ padding-left: 0.6em;
57
+ }
58
+
59
+ a, a:visited {
60
+ color: #4183C4;
61
+ text-decoration: none;
62
+ }
63
+
64
+ a:hover {
65
+ text-decoration: underline;
66
+ }
67
+ }
68
+
metadata ADDED
@@ -0,0 +1,78 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: danmayer-resume
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - Dan Mayer
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-05-10 00:00:00 -04:00
18
+ default_executable: danmayer-resume
19
+ dependencies: []
20
+
21
+ description: A gem for Dan Mayer's resume
22
+ email: dan@mayerdan.com
23
+ executables:
24
+ - danmayer-resume
25
+ extensions: []
26
+
27
+ extra_rdoc_files:
28
+ - README.md
29
+ files:
30
+ - .gems
31
+ - .gitignore
32
+ - README.md
33
+ - Rakefile
34
+ - VERSION
35
+ - config.ru
36
+ - data/resume.md
37
+ - data/resume.yml
38
+ - index.html
39
+ - lib/resume_gem.rb
40
+ - resume.rb
41
+ - style.css
42
+ - test/rack/resume_test.rb
43
+ - test/unit/gem_test.rb
44
+ - views/index.erubis
45
+ - views/style.less
46
+ has_rdoc: true
47
+ homepage: http://github.com/danmayer/Resume
48
+ licenses: []
49
+
50
+ post_install_message:
51
+ rdoc_options:
52
+ - --charset=UTF-8
53
+ require_paths:
54
+ - lib
55
+ required_ruby_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ segments:
67
+ - 0
68
+ version: "0"
69
+ requirements: []
70
+
71
+ rubyforge_project:
72
+ rubygems_version: 1.3.6
73
+ signing_key:
74
+ specification_version: 3
75
+ summary: Resume gem
76
+ test_files:
77
+ - test/rack/resume_test.rb
78
+ - test/unit/gem_test.rb