lib/adiwg/mdtranslator/writers/html/sections/html_citation.rb in adiwg-mdtranslator-1.4.0 vs lib/adiwg/mdtranslator/writers/html/sections/html_citation.rb in adiwg-mdtranslator-2.0.0rc2
- old
+ new
@@ -1,101 +1,161 @@
# HTML writer
# citation
# History:
+# Stan Smith 2017-03-23 refactored for mdTranslator 2.0
# Stan Smith 2015-03-23 original script
-# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
-# Stan Smith 2015-08-26 added alternate title
+# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
+# Stan Smith 2015-08-26 added alternate title
-require_relative 'html_dateTime'
-require_relative 'html_resourceId'
-require_relative 'html_responsibleParty'
+require_relative 'html_date'
+require_relative 'html_responsibility'
+require_relative 'html_identifier'
require_relative 'html_onlineResource'
+require_relative 'html_graphic'
module ADIWG
- module Mdtranslator
- module Writers
- module Html
+ module Mdtranslator
+ module Writers
+ module Html
- class MdHtmlCitation
- def initialize(html)
- @html = html
- end
+ class Html_Citation
- def writeHtml(hCitation)
+ def initialize(html)
+ @html = html
+ end
- # classes used
- htmlDateTime = MdHtmlDateTime.new(@html)
- htmlResId = MdHtmlResourceId.new(@html)
- htmlResParty = MdHtmlResponsibleParty.new(@html)
- htmlOlRes = MdHtmlOnlineResource.new(@html)
+ def writeHtml(hCitation)
- # citation - title - required
- @html.em('Title: ')
- @html.text!(hCitation[:citTitle])
+ # classes used
+ dateClass = Html_Date.new(@html)
+ responsibilityClass = Html_Responsibility.new(@html)
+ identifierClass = Html_Identifier.new(@html)
+ onlineClass = Html_OnlineResource.new(@html)
+ graphicClass = Html_Graphic.new(@html)
+
+ # citation - title - required
+ @html.em('Title: ')
+ @html.text!(hCitation[:title])
+ @html.br
+
+ # citation - alternate title
+ unless hCitation[:alternateTitles].empty?
+ hCitation[:alternateTitles].each do |altTitle|
+ @html.em('Alternate title: ')
+ @html.text!(altTitle)
@html.br
+ end
+ end
- # citation - alternate title
- s = hCitation[:citAltTitle]
- if s
- @html.em('Alternate title: ')
- @html.text!(s)
- @html.br
- end
+ # citation - date [] {}
+ hCitation[:dates].each do |hDate|
+ @html.em('Date: ')
+ dateClass.writeHtml(hDate)
+ @html.br
+ end
- # citation - date
- aDates = hCitation[:citDate]
- aDates.each do |hDatetime|
- @html.em('Date: ')
- htmlDateTime.writeHtml(hDatetime)
- end
+ # citation - edition
+ unless hCitation[:edition].nil?
+ @html.em('Edition: ')
+ @html.text!(hCitation[:edition])
+ @html.br
+ end
- # citation - edition
- s = hCitation[:citEdition]
- if s
- @html.em('Edition: ')
- @html.text!(s)
- @html.br
+ # citation - responsibilities [] {responsibility}
+ hCitation[:responsibleParties].each do |hResponsibility|
+ @html.details do
+ @html.summary(hResponsibility[:roleName], 'class' => 'h5')
+ @html.section(:class => 'block') do
+ responsibilityClass.writeHtml(hResponsibility)
end
+ end
+ end
- # citation - resource ids - resource identifier
- aIds = hCitation[:citResourceIds]
- aIds.each do |hId|
- htmlResId.writeHtml(hId)
+ # citation - identifier []
+ hCitation[:identifiers].each do |hIdentifier|
+ @html.details do
+ @html.summary('Identifier', 'class' => 'h5')
+ @html.section(:class => 'block') do
+ identifierClass.writeHtml(hIdentifier)
end
+ end
+ end
- # citation - responsible parties
- aResPart = hCitation[:citResponsibleParty]
- if !aResPart.empty?
- @html.em('Responsible party: ')
- @html.section(:class=>'block') do
- aResPart.each do |hParty|
- htmlResParty.writeHtml(hParty)
- end
- end
+ # citation - series
+ unless hCitation[:series].empty?
+ @html.details do
+ @html.summary('Publication Series', {'class' => 'h5'})
+ @html.section(:class => 'block') do
+
+ hSeries = hCitation[:series]
+
+ # series - name
+ unless hSeries[:seriesName].nil?
+ @html.em('Series Name: ')
+ @html.text!(hSeries[:seriesName])
+ @html.br
+ end
+
+ # series - issue
+ unless hSeries[:seriesIssue].nil?
+ @html.em('Series Issue: ')
+ @html.text!(hSeries[:seriesIssue])
+ @html.br
+ end
+
+ # series - page
+ unless hSeries[:issuePage].nil?
+ @html.em('Issue Page: ')
+ @html.text!(hSeries[:issuePage])
+ @html.br
+ end
+
end
+ end
+ end
- # citation - presentation forms
- aForms = hCitation[:citResourceForms]
- aForms.each do |form|
- @html.em('Resource form: ')
- @html.text!(form)
- @html.br
+ # citation - online resource []
+ hCitation[:onlineResources].each do |hOnline|
+ @html.details do
+ @html.summary('Online Resource', {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ onlineClass.writeHtml(hOnline)
end
+ end
+ end
- # citation - online resources
- aOlRes = hCitation[:citOlResources]
- aOlRes.each do |hOlRes|
- @html.em('Online resource: ')
- @html.section(:class=>'block') do
- htmlOlRes.writeHtml(hOlRes)
- end
+ # citation - browse graphic []
+ hCitation[:browseGraphics].each do |hGraphic|
+ @html.details do
+ @html.summary('Graphic Overview', {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ graphicClass.writeHtml(hGraphic)
end
+ end
+ end
- end # writeHtml
+ # citation - presentation form []
+ unless hCitation[:presentationForms].empty?
+ hCitation[:presentationForms].each do |forms|
+ @html.em('Presentation Form: ')
+ @html.text!(forms)
+ @html.br
+ end
+ end
- end # class
+ # citation - other details []
+ unless hCitation[:otherDetails].empty?
+ hCitation[:otherDetails].each do |detail|
+ @html.em('Other Details: ')
+ @html.text!(detail)
+ @html.br
+ end
+ end
- end
- end
- end
+ end # writeHtml
+ end # Html_Citation
+
+ end
+ end
+ end
end