gdagley-esv 0.1.2

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.
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
@@ -0,0 +1,5 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Geoffrey Dagley
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,35 @@
1
+ = esv
2
+
3
+ Wrapper for English Standard Version (ESV) Bible Web Service. See ESV API docs http://www.esvapi.org/
4
+
5
+ == SYNOPSIS:
6
+
7
+ b = ESV::Bible.new
8
+
9
+ Default response for most actions is HTML
10
+ b.passageQuery('John 1:1') # => "<div class=\"esv\"><h2>John 1:1 <object type=\"application/x-shockwave-flash\" data=\"http://www.esvapi.org/assets/play.swf?myUrl=hw%2F43001001\" width=\"40\" height=\"12\" class=\"audio\"><param name=\"movie\" value=\"http://www.esvapi.org/assets/play.swf?myUrl=hw%2F43001001\" /><param name=\"wmode\" value=\"transparent\" /></object></h2>\n<div class=\"esv-text\"><h3 id=\"p43001001.01-1\">The Word Became Flesh</h3>\n<p class=\"chapter-first\" id=\"p43001001.05-1\"><span class=\"chapter-num\" id=\"v43001001-1\">1:1&nbsp;</span>In the beginning was the Word, and the Word was with God, and the Word was God. (<a href=\"http://www.esv.org\" class=\"copyright\">ESV</a>)</p>\n</div>\n</div>"
11
+
12
+ XML responses are converted to Hashes
13
+ b.passageQuery('John 1:1', 'output-format' => 'crossway-xml-1.0') # => {"crossway_bible"=>{"class"=>"passage-query", "passage"=>{"reference"=>"John 1:1", "surrounding_chapters"=>{"previous"=>"Luke 24", "current"=>"John 1", "next"=>"John 2"}, "content"=>{"verse_unit"=>"<markerclass=\"begin-verse\" mid=\"v43001001\"></marker><begin_chapternum=\"1\"></begin_chapter><heading>The Word Became Flesh</heading><begin_paragraphclass=\"chapter-first\"></begin_paragraph><verse_numbegin_chapter=\"1\">1</verse_num>In the beginning was the Word, and the Word was with God, and the Word was God.<end_paragraph></end_paragraph>"}}, "copyright"=>"The Holy Bible, English Standard Version copyright (c)2001 by Crossway Bibles, a division of Good News Publishers. Used by permission. All rights reserved. http://www.esv.org"}}
14
+
15
+ == REQUIREMENTS:
16
+
17
+ * httparty
18
+
19
+ == INSTALL:
20
+
21
+ * sudo gem install gdagley-esv
22
+
23
+ == Note on Patches/Pull Requests
24
+
25
+ * Fork the project.
26
+ * Make your feature addition or bug fix.
27
+ * Add tests for it. This is important so I don't break it in a
28
+ future version unintentionally.
29
+ * Commit, do not mess with rakefile, version, or history.
30
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
31
+ * Send me a pull request. Bonus points for topic branches.
32
+
33
+ == Copyright
34
+
35
+ Copyright (c) 2009 Geoffrey Dagley. See LICENSE for details.
@@ -0,0 +1,49 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "esv"
8
+ gem.summary = %Q{Wrapper for English Standard Version (ESV) Bible Web Service. See ESV API docs http://www.esvapi.org/}
9
+ gem.email = "gdagley@gmail.com"
10
+ gem.homepage = "http://github.com/gdagley/esv"
11
+ gem.authors = ["Geoffrey Dagley"]
12
+ gem.add_dependency "httparty"
13
+ gem.add_development_dependency "rspec"
14
+ gem.add_development_dependency "fakeweb"
15
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
+ end
17
+ rescue LoadError
18
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
19
+ end
20
+
21
+ require 'spec/rake/spectask'
22
+ Spec::Rake::SpecTask.new(:spec) do |spec|
23
+ spec.libs << 'lib' << 'spec'
24
+ spec.spec_files = FileList['spec/**/*_spec.rb']
25
+ end
26
+
27
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
28
+ spec.libs << 'lib' << 'spec'
29
+ spec.pattern = 'spec/**/*_spec.rb'
30
+ spec.rcov = true
31
+ end
32
+
33
+ task :spec => :check_dependencies
34
+
35
+ task :default => :spec
36
+
37
+ require 'rake/rdoctask'
38
+ Rake::RDocTask.new do |rdoc|
39
+ if File.exist?('VERSION')
40
+ version = File.read('VERSION')
41
+ else
42
+ version = ""
43
+ end
44
+
45
+ rdoc.rdoc_dir = 'rdoc'
46
+ rdoc.title = "esv #{version}"
47
+ rdoc.rdoc_files.include('README*')
48
+ rdoc.rdoc_files.include('lib/**/*.rb')
49
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.2
@@ -0,0 +1,69 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{esv}
8
+ s.version = "0.1.2"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Geoffrey Dagley"]
12
+ s.date = %q{2009-09-08}
13
+ s.email = %q{gdagley@gmail.com}
14
+ s.extra_rdoc_files = [
15
+ "LICENSE",
16
+ "README.rdoc"
17
+ ]
18
+ s.files = [
19
+ ".document",
20
+ ".gitignore",
21
+ "LICENSE",
22
+ "README.rdoc",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "esv.gemspec",
26
+ "lib/esv.rb",
27
+ "lib/esv/bible.rb",
28
+ "lib/esv/reading_plan.rb",
29
+ "spec/esv/bible_spec.rb",
30
+ "spec/esv/reading_plan_spec.rb",
31
+ "spec/esv_spec.rb",
32
+ "spec/fixtures/passage_query.html",
33
+ "spec/fixtures/passage_query.xml",
34
+ "spec/fixtures/reading_plan_info.xml",
35
+ "spec/fixtures/reading_plan_query.html",
36
+ "spec/fixtures/reading_plan_query.xml",
37
+ "spec/spec_helper.rb"
38
+ ]
39
+ s.homepage = %q{http://github.com/gdagley/esv}
40
+ s.rdoc_options = ["--charset=UTF-8"]
41
+ s.require_paths = ["lib"]
42
+ s.rubygems_version = %q{1.3.5}
43
+ s.summary = %q{Wrapper for English Standard Version (ESV) Bible Web Service. See ESV API docs http://www.esvapi.org/}
44
+ s.test_files = [
45
+ "spec/esv/bible_spec.rb",
46
+ "spec/esv/reading_plan_spec.rb",
47
+ "spec/esv_spec.rb",
48
+ "spec/spec_helper.rb"
49
+ ]
50
+
51
+ if s.respond_to? :specification_version then
52
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
53
+ s.specification_version = 3
54
+
55
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
56
+ s.add_runtime_dependency(%q<httparty>, [">= 0"])
57
+ s.add_development_dependency(%q<rspec>, [">= 0"])
58
+ s.add_development_dependency(%q<fakeweb>, [">= 0"])
59
+ else
60
+ s.add_dependency(%q<httparty>, [">= 0"])
61
+ s.add_dependency(%q<rspec>, [">= 0"])
62
+ s.add_dependency(%q<fakeweb>, [">= 0"])
63
+ end
64
+ else
65
+ s.add_dependency(%q<httparty>, [">= 0"])
66
+ s.add_dependency(%q<rspec>, [">= 0"])
67
+ s.add_dependency(%q<fakeweb>, [">= 0"])
68
+ end
69
+ end
@@ -0,0 +1,56 @@
1
+ require 'esv/bible'
2
+ require 'esv/reading_plan'
3
+
4
+ module ESV
5
+ OUTPUT_FORMATS =
6
+ ['html', 'crossway-xml-1.0', 'plain-text', 'mp3']
7
+
8
+ HTML_OPTIONS =
9
+ {
10
+ 'include-passage-references' => true,
11
+ 'include-first-verse-numbers' => true,
12
+ 'include-verse-numbers' => true,
13
+ 'include-footnotes' => true,
14
+ 'include-footnote-links' => true,
15
+ 'include-headings' => true,
16
+ 'include-subheadings' => true,
17
+ 'include-surrounding-chapters' => false,
18
+ 'include-word-ids' => false,
19
+ 'link-url' => 'http://www.gnpcb.org/esv/search/',
20
+ 'include-audio-link' => true,
21
+ 'audio-format' => 'flash',
22
+ 'audio-version' => 'hw',
23
+ 'include-short-copyright' => true,
24
+ 'include-copyright' => false,
25
+ }
26
+
27
+ XML_OPTIONS =
28
+ {
29
+ 'include-xml-declaration' => false,
30
+ 'include-doctype' => true,
31
+ 'include-quote-entities' => true,
32
+ 'include-simple-entities' => false,
33
+ 'include-cross-references' => false,
34
+ 'include-line-breaks' => true,
35
+ 'include-word-ids' => false,
36
+ 'include-virtual-attributes' => false,
37
+ 'base-element' => 'verse-unit',
38
+ }
39
+
40
+ TEXT_OPTIONS =
41
+ {
42
+ 'include-passage-references' => true,
43
+ 'include-first-verse-numbers' => true,
44
+ 'include-verse-numbers' => true,
45
+ 'include-footnotes' => true,
46
+ 'include-short-copyright' => true,
47
+ 'include-copyright' => false,
48
+ 'include-passage-horizontal-lines' => true,
49
+ 'include-heading-horizontal-lines' => true,
50
+ 'include-headings' => true,
51
+ 'include-subheadings' => true,
52
+ 'include-selahs' => true,
53
+ 'include-content-type' => true,
54
+ 'line-length' => 74,
55
+ }
56
+ end
@@ -0,0 +1,55 @@
1
+ require 'httparty'
2
+
3
+ module ESV
4
+ class Bible
5
+ include HTTParty
6
+
7
+ base_uri 'http://www.esvapi.org/v2/rest/'
8
+
9
+ # The ESV API requires a key that can be passed in as one of the options, :key => 'value'. By default, it is 'IP'
10
+ def initialize(default_options={})
11
+ @default_options = default_options
12
+ @default_options[:key] ||= 'IP'
13
+ end
14
+
15
+ # Lookup a passage
16
+ #
17
+ # See http://www.esvapi.org/api for more information and options
18
+ def passage_query(passage, options={})
19
+ options[:passage] = passage
20
+ self.class.get '/passageQuery', :query => @default_options.merge(options)
21
+ end
22
+
23
+ # Look up a passage or show word-search results, depending on the query
24
+ #
25
+ # The output format is always HTML.
26
+ #
27
+ # See http://www.esvapi.org/api for more information and options
28
+ def query(q, options={})
29
+ options[:q] = q
30
+ self.class.get '/query', :query => @default_options.merge(options)
31
+ end
32
+
33
+ # Parse and display information about your query, including identify whether it is a passage reference or a word search
34
+ #
35
+ # See http://www.esvapi.org/api for more information and options
36
+ def query_info(q)
37
+ options = {:q => q}
38
+ self.class.get '/queryInfo', :query => @default_options.merge(options)
39
+ end
40
+
41
+ # Display a random verse from a preselected list, or specify verse(s)
42
+ #
43
+ # See http://www.esvapi.org/api for more information and options
44
+ def verse(options={})
45
+ self.class.get '/verse', :query => @default_options.merge(options)
46
+ end
47
+
48
+ # Display a verse that changes every day
49
+ #
50
+ # See http://www.esvapi.org/api for more information and options
51
+ def daily_verse(options={})
52
+ self.class.get '/dailyVerse', :query => @default_options.merge(options)
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,29 @@
1
+ require 'httparty'
2
+
3
+ module ESV
4
+ class ReadingPlan
5
+ include HTTParty
6
+
7
+ base_uri 'http://www.esvapi.org/v2/rest/'
8
+
9
+ # The ESV API requires a key that can be passed in as one of the options, :key => 'value'. By default, it is 'IP'
10
+ def initialize(default_options={})
11
+ @default_options = default_options
12
+ @default_options[:key] ||= 'IP'
13
+ end
14
+
15
+ # Retrieve passages from our Devotions section
16
+ #
17
+ # See http://www.esvapi.org/api for more information and options
18
+ def query(options={})
19
+ self.class.get '/readingPlanQuery', :query => @default_options.merge(options)
20
+ end
21
+
22
+ # Parse and display information about the reading plan for a given date
23
+ #
24
+ # See http://www.esvapi.org/api for more information and options
25
+ def info(options={})
26
+ self.class.get '/readingPlanInfo', :query => @default_options.merge(options)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,32 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe ESV::Bible do
4
+ before do
5
+ @bible = ESV::Bible.new(:key => 'TEST')
6
+ end
7
+
8
+ describe "passage_query" do
9
+ it "should retrieve the passage" do
10
+ stub_get("http://www.esvapi.org/v2/rest/passageQuery?passage=John%201&key=TEST", "passage_query.html")
11
+ @bible.passage_query('John 1').should include("<h2>John 1")
12
+ end
13
+
14
+ it "should retrieve the passage as XML" do
15
+ stub_get("http://www.esvapi.org/v2/rest/passageQuery?output-format=crossway-xml-1.0&key=TEST&passage=John%201", "passage_query.xml")
16
+ passage = @bible.passage_query('John 1', 'output-format' => 'crossway-xml-1.0')['crossway_bible']["passage"]
17
+ passage["reference"].should == "John 1"
18
+ end
19
+ end
20
+
21
+ describe "query" do
22
+ end
23
+
24
+ describe "query_info" do
25
+ end
26
+
27
+ describe "verse" do
28
+ end
29
+
30
+ describe "daily_verse" do
31
+ end
32
+ end
@@ -0,0 +1,34 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe ESV::ReadingPlan do
4
+ before do
5
+ @plan = ESV::ReadingPlan.new(:key => 'TEST')
6
+ end
7
+
8
+ describe "query" do
9
+ it "should retrieve the daily reading" do
10
+ stub_get("http://www.esvapi.org/v2/rest/readingPlanQuery?key=TEST", "reading_plan_query.html")
11
+ @plan.query.should include("<h2>2 Samuel 2")
12
+ end
13
+
14
+ it "should retrieve the daily reading as XML" do
15
+ stub_get("http://www.esvapi.org/v2/rest/readingPlanQuery?output-format=crossway-xml-1.0&key=TEST", "reading_plan_query.xml")
16
+ reading = @plan.query('output-format' => 'crossway-xml-1.0')["crossway_bible"]
17
+ reading["passage"][0]["reference"].should == "2 Samuel 2"
18
+ end
19
+
20
+ it "should retrieve the daily reading for a specific date" do
21
+ stub_get("http://www.esvapi.org/v2/rest/readingPlanQuery?date=2009-10-01&key=TEST", "reading_plan_query.html")
22
+ @plan.query('date' => '2009-10-01').should include("<h2>2 Samuel 2")
23
+ end
24
+ end
25
+
26
+ describe "info" do
27
+ it "should retrieve XML info for reading plan" do
28
+ stub_get("http://www.esvapi.org/v2/rest/readingPlanInfo?key=TEST", "reading_plan_info.xml")
29
+ info = @plan.info['crossway_bible']
30
+ info["plan"].should == "one-year-tract"
31
+ info["date"].should == "20090908"
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,4 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Esv" do
4
+ end
@@ -0,0 +1,51 @@
1
+ HTTP/1.1 200 OK
2
+ Date: Tue, 08 Sep 2009 14:59:46 GMT
3
+ Server: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch
4
+ Content-Location: passageQuery.php
5
+ Vary: negotiate
6
+ TCN: choice
7
+ X-Powered-By: PHP/5.2.4-2ubuntu5.5
8
+ Expires: Wed, 09 Sep 2009 14:59:46 +0000
9
+ Transfer-Encoding: chunked
10
+ Content-Type: text/html
11
+
12
+ <div class="esv"><h2>John 1 <object type="application/x-shockwave-flash" data="http://www.esvapi.org/assets/play.swf?myUrl=hw%2F43001001-43001051" width="40" height="12" class="audio"><param name="movie" value="http://www.esvapi.org/assets/play.swf?myUrl=hw%2F43001001-43001051" /><param name="wmode" value="transparent" /></object></h2>
13
+ <div class="esv-text"><h3 id="p43001001.01-1">The Word Became Flesh</h3>
14
+ <p class="chapter-first" id="p43001001.05-1"><span class="chapter-num" id="v43001001-1">1:1&nbsp;</span>In the beginning was the Word, and the Word was with God, and the Word was God. <span class="verse-num" id="v43001002-1">2&nbsp;</span>He was in the beginning with God. <span class="verse-num" id="v43001003-1">3&nbsp;</span>All things were made through him, and without him was not any thing made that was made. <span class="verse-num" id="v43001004-1">4&nbsp;</span>In him was life,<span class="footnote">&nbsp;<a href="#f1" id="b1" title="Or 'was not any thing made. That which has been made was life in him'">[1]</a></span> and the life was the light of men. <span class="verse-num" id="v43001005-1">5&nbsp;</span>The light shines in the darkness, and the darkness has not overcome it.</p>
15
+ <p id="p43001006.01-1"><span class="verse-num" id="v43001006-1">6&nbsp;</span>There was a man sent from God, whose name was John. <span class="verse-num" id="v43001007-1">7&nbsp;</span>He came as a witness, to bear witness about the light, that all might believe through him. <span class="verse-num" id="v43001008-1">8&nbsp;</span>He was not the light, but came to bear witness about the light.</p>
16
+ <p id="p43001009.01-1"><span class="verse-num" id="v43001009-1">9&nbsp;</span>The true light, which enlightens everyone, was coming into the world. <span class="verse-num" id="v43001010-1">10&nbsp;</span>He was in the world, and the world was made through him, yet the world did not know him. <span class="verse-num" id="v43001011-1">11&nbsp;</span>He came to his own,<span class="footnote">&nbsp;<a href="#f2" id="b2" title="Greek 'to his own things'; that is, to his own domain, or to his own people">[2]</a></span> and his own people<span class="footnote">&nbsp;<a href="#f3" id="b3" title="'People' is implied in Greek">[3]</a></span> did not receive him. <span class="verse-num" id="v43001012-1">12&nbsp;</span>But to all who did receive him, who believed in his name, he gave the right to become children of God, <span class="verse-num" id="v43001013-1">13&nbsp;</span>who were born, not of blood nor of the will of the flesh nor of the will of man, but of God.</p>
17
+ <p id="p43001014.01-1"><span class="verse-num" id="v43001014-1">14&nbsp;</span>And the Word became flesh and dwelt among us, and we have seen his glory, glory as of the only Son from the Father, full of grace and truth. <span class="verse-num" id="v43001015-1">15&nbsp;</span>(John bore witness about him, and cried out, &#8220;This was he of whom I said, &#8216;He who comes after me ranks before me, because he was before me.&#8217;&#8221;) <span class="verse-num" id="v43001016-1">16&nbsp;</span>And from his fullness we have all received, grace upon grace. <span class="verse-num" id="v43001017-1">17&nbsp;</span>For the law was given through Moses; grace and truth came through Jesus Christ. <span class="verse-num" id="v43001018-1">18&nbsp;</span>No one has ever seen God; the only God,<span class="footnote">&nbsp;<a href="#f4" id="b4" title="Or 'the only One, who is God'; some manuscripts 'the only Son'">[4]</a></span> who is at the Father's side,<span class="footnote">&nbsp;<a href="#f5" id="b5" title="Greek 'in the bosom of the Father'">[5]</a></span> he has made him known.</p>
18
+ <h3 id="p43001019.01-1">The Testimony of John the Baptist</h3>
19
+ <p id="p43001019.07-1"><span class="verse-num" id="v43001019-1">19&nbsp;</span>And this is the testimony of John, when the Jews sent priests and Levites from Jerusalem to ask him, &#8220;Who are you?&#8221; <span class="verse-num" id="v43001020-1">20&nbsp;</span>He confessed, and did not deny, but confessed, &#8220;I am not the Christ.&#8221; <span class="verse-num" id="v43001021-1">21&nbsp;</span>And they asked him, &#8220;What then? Are you Elijah?&#8221; He said, &#8220;I am not.&#8221; &#8220;Are you the Prophet?&#8221; And he answered, &#8220;No.&#8221; <span class="verse-num" id="v43001022-1">22&nbsp;</span>So they said to him, &#8220;Who are you? We need to give an answer to those who sent us. What do you say about yourself?&#8221; <span class="verse-num" id="v43001023-1">23&nbsp;</span>He said, &#8220;I am the voice of one crying out in the wilderness, &#8216;Make straight<span class="footnote">&nbsp;<a href="#f6" id="b6" title="Or 'crying out, 'In the wilderness make straight'">[6]</a></span> the way of the Lord,&#8217; as the prophet Isaiah said.&#8221;</p>
20
+ <p id="p43001024.01-1"><span class="verse-num" id="v43001024-1">24&nbsp;</span>(Now they had been sent from the Pharisees.) <span class="verse-num" id="v43001025-1">25&nbsp;</span>They asked him, &#8220;Then why are you baptizing, if you are neither the Christ, nor Elijah, nor the Prophet?&#8221; <span class="verse-num" id="v43001026-1">26&nbsp;</span>John answered them, &#8220;I baptize with water, but among you stands one you do not know, <span class="verse-num" id="v43001027-1">27&nbsp;</span>even he who comes after me, the strap of whose sandal I am not worthy to untie.&#8221; <span class="verse-num" id="v43001028-1">28&nbsp;</span>These things took place in Bethany across the Jordan, where John was baptizing.</p>
21
+ <h3 id="p43001029.01-1">Behold, the Lamb of God</h3>
22
+ <p id="p43001029.06-1"><span class="verse-num" id="v43001029-1">29&nbsp;</span>The next day he saw Jesus coming toward him, and said, &#8220;Behold, the Lamb of God, who takes away the sin of the world! <span class="verse-num" id="v43001030-1">30&nbsp;</span>This is he of whom I said, &#8216;After me comes a man who ranks before me, because he was before me.&#8217; <span class="verse-num" id="v43001031-1">31&nbsp;</span>I myself did not know him, but for this purpose I came baptizing with water, that he might be revealed to Israel.&#8221; <span class="verse-num" id="v43001032-1">32&nbsp;</span>And John bore witness: &#8220;I saw the Spirit descend from heaven like a dove, and it remained on him. <span class="verse-num" id="v43001033-1">33&nbsp;</span>I myself did not know him, but he who sent me to baptize with water said to me, &#8216;He on whom you see the Spirit descend and remain, this is he who baptizes with the Holy Spirit.&#8217; <span class="verse-num" id="v43001034-1">34&nbsp;</span>And I have seen and have borne witness that this is the Son of God.&#8221;</p>
23
+ <h3 id="p43001035.01-1">Jesus Calls the First Disciples</h3>
24
+ <p id="p43001035.06-1"><span class="verse-num" id="v43001035-1">35&nbsp;</span>The next day again John was standing with two of his disciples, <span class="verse-num" id="v43001036-1">36&nbsp;</span>and he looked at Jesus as he walked by and said, &#8220;Behold, the Lamb of God!&#8221; <span class="verse-num" id="v43001037-1">37&nbsp;</span>The two disciples heard him say this, and they followed Jesus. <span class="verse-num" id="v43001038-1">38&nbsp;</span>Jesus turned and saw them following and said to them, <span class="woc">&#8220;What are you seeking?&#8221;</span> And they said to him, &#8220;Rabbi&#8221; (which means Teacher), &#8220;where are you staying?&#8221; <span class="verse-num" id="v43001039-1">39&nbsp;</span>He said to them, <span class="woc">&#8220;Come and you will see.&#8221;</span> So they came and saw where he was staying, and they stayed with him that day, for it was about the tenth hour.<span class="footnote">&nbsp;<a href="#f7" id="b7" title="That is, about 4 P.M.">[7]</a></span> <span class="verse-num" id="v43001040-1">40&nbsp;</span>One of the two who heard John speak and followed Jesus<span class="footnote">&nbsp;<a href="#f8" id="b8" title="Greek 'him'">[8]</a></span> was Andrew, Simon Peter's brother. <span class="verse-num" id="v43001041-1">41&nbsp;</span>He first found his own brother Simon and said to him, &#8220;We have found the Messiah&#8221; (which means Christ). <span class="verse-num" id="v43001042-1">42&nbsp;</span>He brought him to Jesus. Jesus looked at him and said, <span class="woc">&#8220;So you are Simon the son of John? You shall be called Cephas&#8221;</span> (which means Peter<span class="footnote">&nbsp;<a href="#f9" id="b9" title="'Cephas' and 'Peter' are from the word for 'rock' in Aramaic and Greek, respectively">[9]</a></span>).</p>
25
+ <h3 id="p43001043.01-1">Jesus Calls Philip and Nathanael</h3>
26
+ <p id="p43001043.06-1"><span class="verse-num" id="v43001043-1">43&nbsp;</span>The next day Jesus decided to go to Galilee. He found Philip and said to him, <span class="woc">&#8220;Follow me.&#8221;</span> <span class="verse-num" id="v43001044-1">44&nbsp;</span>Now Philip was from Bethsaida, the city of Andrew and Peter. <span class="verse-num" id="v43001045-1">45&nbsp;</span>Philip found Nathanael and said to him, &#8220;We have found him of whom Moses in the Law and also the prophets wrote, Jesus of Nazareth, the son of Joseph.&#8221; <span class="verse-num" id="v43001046-1">46&nbsp;</span>Nathanael said to him, &#8220;Can anything good come out of Nazareth?&#8221; Philip said to him, &#8220;Come and see.&#8221; <span class="verse-num" id="v43001047-1">47&nbsp;</span>Jesus saw Nathanael coming toward him and said of him, <span class="woc">&#8220;Behold, an Israelite indeed, in whom there is no deceit!&#8221;</span> <span class="verse-num" id="v43001048-1">48&nbsp;</span>Nathanael said to him, &#8220;How do you know me?&#8221; Jesus answered him, <span class="woc">&#8220;Before Philip called you, when you were under the fig tree, I saw you.&#8221;</span> <span class="verse-num" id="v43001049-1">49&nbsp;</span>Nathanael answered him, &#8220;Rabbi, you are the Son of God! You are the King of Israel!&#8221; <span class="verse-num" id="v43001050-1">50&nbsp;</span>Jesus answered him, <span class="woc">&#8220;Because I said to you, &#8216;I saw you under the fig tree,&#8217; do you believe? You will see greater things than these.&#8221;</span> <span class="verse-num" id="v43001051-1">51&nbsp;</span>And he said to him, <span class="woc">&#8220;Truly, truly, I say to you,<span class="footnote">&nbsp;<a href="#f10" id="b10" title="The Greek for 'you' is plural; twice in this verse">[10]</a></span> you will see heaven opened, and the angels of God ascending and descending on the Son of Man.&#8221;</span> (<a href="http://www.esv.org" class="copyright">ESV</a>)</p>
27
+ </div>
28
+ <div class="footnotes">
29
+ <h3>Footnotes</h3>
30
+ <p><span class="footnote"><a href="#b1" id="f1">[1]</a></span> <span class="footnote-ref">1:4</span> Or <em>was not any thing made. That which has been made was life in him</em>
31
+ <br />
32
+ <span class="footnote"><a href="#b2" id="f2">[2]</a></span> <span class="footnote-ref">1:11</span> Greek <em>to his own things</em>; that is, to his own domain, or to his own people
33
+ <br />
34
+ <span class="footnote"><a href="#b3" id="f3">[3]</a></span> <span class="footnote-ref">1:11</span> <em>People</em> is implied in Greek
35
+ <br />
36
+ <span class="footnote"><a href="#b4" id="f4">[4]</a></span> <span class="footnote-ref">1:18</span> Or <em>the only One, who is God</em>; some manuscripts <em>the only Son</em>
37
+ <br />
38
+ <span class="footnote"><a href="#b5" id="f5">[5]</a></span> <span class="footnote-ref">1:18</span> Greek <em>in the bosom of the Father</em>
39
+ <br />
40
+ <span class="footnote"><a href="#b6" id="f6">[6]</a></span> <span class="footnote-ref">1:23</span> Or <em>crying out, &#8216;In the wilderness make straight</em>
41
+ <br />
42
+ <span class="footnote"><a href="#b7" id="f7">[7]</a></span> <span class="footnote-ref">1:39</span> That is, about <span class="small-caps">4 p.m.</span>
43
+ <br />
44
+ <span class="footnote"><a href="#b8" id="f8">[8]</a></span> <span class="footnote-ref">1:40</span> Greek <em>him</em>
45
+ <br />
46
+ <span class="footnote"><a href="#b9" id="f9">[9]</a></span> <span class="footnote-ref">1:42</span> <em>Cephas</em> and <em>Peter</em> are from the word for <em>rock</em> in Aramaic and Greek, respectively
47
+ <br />
48
+ <span class="footnote"><a href="#b10" id="f10">[10]</a></span> <span class="footnote-ref">1:51</span> The Greek for <em>you</em> is plural; twice in this verse
49
+ </p>
50
+ </div>
51
+ </div>