Module:SD: Difference between revisions

From Teopedia
(Created page with "local sd = {} -- functions package for HPB Scrapbooks local function isempty(s) return s == nil or s == '' end -- Return pdf page number in The Secret Doctrin, which coresponds to book page -- Example for vol.1: xxx → 30; 100 → 53 -- Call example: {{#invoke: SD | volume=1 | page=17}} -- Values: -- vol. 1, pages: i-xlvii, 1-676 -- vol. 2, pages: i-xvi, 1-798 -- vol. 3, pages: i-xx, 1-594 function sd.pdf_page( frame ) local volume = string.format("%.2d", frame.arg...")
 
mNo edit summary
Line 7: Line 7:
-- Return pdf page number in The Secret Doctrin, which coresponds to book page
-- Return pdf page number in The Secret Doctrin, which coresponds to book page
-- Example for vol.1: xxx → 30; 100 → 53
-- Example for vol.1: xxx → 30; 100 → 53
-- Call example: {{#invoke: SD | volume=1 | page=17}}
-- Call example: {{#invoke: SD | pdf_page | volume=1 | page=17}}
-- Values:
-- Values:
-- vol. 1, pages: i-xlvii, 1-676
-- vol. 1, pages: i-xlvii, 1-676
Line 18: Line 18:


--mw.log('vol= '.. volume .. ', page= ' .. page)
--mw.log('vol= '.. volume .. ', page= ' .. page)
if volume == 1 then
if volume == '1' then
p_pdf = 47 + page
p_pdf = 47 + page
else  
else  
if volume == 2 then
if volume == '2' then
p_pdf = 16 + page
p_pdf = 16 + page
else  
else  

Revision as of 03:57, 21 November 2024

Documentation for this module may be created at Module:SD/doc

local sd = {} -- functions package for HPB Scrapbooks

local function isempty(s)
  return s == nil or s == ''
end

-- Return pdf page number in The Secret Doctrin, which coresponds to book page
-- Example for vol.1: xxx → 30; 100 → 53
-- Call example: {{#invoke: SD | pdf_page | volume=1 | page=17}}
-- Values:
-- vol. 1, pages: i-xlvii, 1-676
-- vol. 2, pages: i-xvi, 1-798
-- vol. 3, pages: i-xx, 1-594
function sd.pdf_page( frame )
	local volume = string.format("%.2d", frame.args['volume'])
	local page = string.format("%.2d", frame.args['page'])
	local p_pdf = 1

	--mw.log('vol= '.. volume .. ', page= ' .. page)
	if volume == '1' then
		p_pdf = 47 + page
	else 
		if volume == '2' then
			p_pdf = 16 + page
		else 
			p_pdf = 20 + page
		end
	end

	return p_pdf
end

return sd