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