Sha256: 472c362543e2b1e67fb97fa97a896c5a881734801175314622481380dd7c79e2

Contents?: true

Size: 1.67 KB

Versions: 2

Compression:

Stored size: 1.67 KB

Contents

import "common"

mixin book_meta(key, format: nil)
	tr
		- value = book.send(key.to_sym)
		- if value.is_a?(Array)
			- value = value.map(&format).join(', ')
		- end

		- unless value.nil?
			td.book_meta_key= key.gsub('_', ' ')
			td.book_meta_value= value
		- end

mixin metas
	table
		- default_block.call!

mixin section(name)
	h1.meta_section= name
	- default_block.call


mixin iterate_spine(toc_item)
	- if toc_item.sub_items.count > 0
		ul.spine
			- toc_item.sub_items.each do |item|
				li
					- item_href = "/book/#{pretty_path_toc_item(item)}"
					a.href(href: item_href)= item.local_source_pattern
					- unless item.title.nil?
						= '   '
						span.title: a.title(href: item_href)= item.title
					- end
					- unless item.options.empty?
						= '   '
					- end
					- item.options.each do |opt|
						- next if opt.nil?
						= ' '
						span.option= opt.inspect
					- end
					+iterate_spine(item)
			- end
	- end

+page(header_id: 'home')
	.cover_image
		div
			- unless (file = file_resolver.file_from_request(book.cover_image)).nil?
				img(src: "/raw/#{file.pkg_destination_path}")
			- else
				img(src: '/server/raw/default_cover.png')
			- end
	#content
		+section('Metadata')
			+metas
				+book_meta('title')
				+book_meta('subtitle')
				+book_meta('authors', format: lambda { |author| author.pretty_name })

				+book_meta('publisher')
				+book_meta('language')
				+book_meta('version')
				+book_meta('build_version')


		+section('Targets')
			- book.targets.each do |b_target|
				p(class: 'target_selected' if target == b_target): a(href: "/change_target/#{b_target.name}")= b_target.name
			- end

		+section('Spine')
			+iterate_spine(target.root_toc)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
epuber-0.3.6 lib/epuber/server/pages/book.bade
epuber-0.3.5 lib/epuber/server/pages/book.bade