Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
local Serial = "2018-03-22"
--[=[ Runeberg/Salmonsen
require() table supporting: Salmonsens konversationsleksikon (1915...1930)
]=]
return {
facet = function ( Data, aEdt, aVol, aPag )
local r1, r2
if aEdt > 0 then
r1 = ""
r2 = tostring( aEdt )
if aVol then
r2 = string.format( "%s/%d", r2, aVol )
if aPag then
r2 = string.format( "%s/%04d.html",
r2,
Data.folio( aEdt, aVol, aPag ) )
end
end
end
return r1, r2
end, -- .facet()
figures = function ( Data )
-- Retrieve numbers from invocation
-- Returns numbers: edition, volume, column, error
local sEdt = mw.text.trim( Data.params.ed or "" )
local sVol = mw.text.trim( Data.params.vol or "" )
local sPag = mw.text.trim( Data.params.sub or "" )
local rEdt = sEdt:match( "^[12]$" )
local rVol = sVol:match( "^[12]?%d$" )
local rPag, rErr
if rEdt then
rEdt = tonumber( rEdt )
if rVol then
rVol = tonumber( rVol )
if rVol > 0 and
( ( rEdt == 1 and rVol <= 19 ) or
( rEdt == 2 and rVol <= 26 ) ) then
rPag = sPag:match( "^%d+$" )
if rPag then
rPag = tonumber( rPag )
elseif sPag ~= "" then
rErr = 5
end
else
rVol = false
rErr = 3
end
elseif sVol ~= "" or sPag ~= "" then
rErr = 2
end
elseif sEdt ~= "" or sVol ~= "" or sPag ~= "" then
rErr = 1
rVol = false
else
rEdt = 0
end
return rEdt, rVol, rPag, rErr
end, -- .figures()
pages = { false, -- 1. Edition
{ -- 2. Edition
{ { 3, 14, 8 },
{ 15, 22, 10 },
{ 23, 52, 12 },
{ 53, 80, 14 },
{ 81, 248, 16 },
{ 249, 256, 18 },
{ 257, 260, 22 },
{ 261, 272, 24 },
{ 273, 392, 26 },
{ 393, 456, 28 },
{ 457, 472, 32 },
{ 473, 496, 34 },
{ 497, 568, 36 },
{ 569, 612, 38 },
{ 613, 638, 40 },
{ 639, 664, 42 },
{ 665, 868, 44 },
{ 869, 876, 46 },
{ 877, 961, 48 } }, -- 1 beginnt auf Seite 3
{ { 1, 162, 8 },
{ 163, 224, 10 },
{ 225, 230, 12 },
{ 231, 232, 20 },
{ 233, 248, 22 },
{ 249, 316, 24 },
{ 317, 322, 26 },
{ 323, 388, 28 },
{ 389, 394, 30 },
{ 395, 398, 34 },
{ 399, 452, 36 },
{ 453, 510, 38 },
{ 511, 546, 40 },
{ 547, 562, 42 },
{ 563, 604, 44 },
{ 605, 736, 46 },
{ 737, 770, 48 },
{ 771, 864, 50 },
{ 865, 878, 52 },
{ 879, 953, 54 } }, -- 2
{ { 1, 24, 8 },
{ 25, 48, 10 },
{ 49, 196, 12 },
{ 197, 240, 18 },
{ 241, 244, 42 },
{ 245, 378, 44 },
{ 379, 436, 46 },
{ 437, 538, 50 },
{ 539, 568, 54 },
{ 569, 570, 56 },
{ 571, 572, 60 },
{ 573, 848, 62 },
{ 849, 953, 66 } }, -- 3
{ { 1, 50, 8 },
{ 51, 56, 10 },
{ 57, 80, 14 },
{ 81, 84, 18 },
{ 85, 136, 22 },
{ 137, 170, 24 },
{ 171, 196, 26 },
{ 197, 232, 28 },
{ 233, 320, 30 },
{ 321, 388, 42 },
{ 389, 452, 44 },
{ 453, 840, 46 },
{ 841, 912, 48 },
{ 913, 951, 50 } }, -- 4
{ { 1, 436, 8 },
{ 437, 464, 10 },
{ 465, 474, 12 },
{ 475, 500, 14 },
{ 501, 532, 18 },
{ 533, 538, 20 },
{ 539, 540, 22 },
{ 541, 552, 24 },
{ 553, 620, 26 },
{ 621, 622, 28 },
{ 623, 672, 30 },
{ 673, 766, 62 },
{ 767, 768, 64 },
{ 769, 778, 66 },
{ 779, 820, 68 },
{ 821, 952, 70 } }, -- 5
{ { 1, 108, 8 },
{ 109, 198, 10 },
{ 199, 210, 12 },
{ 211, 280, 14 },
{ 281, 304, 16 },
{ 305, 394, 18 },
{ 395, 416, 20 },
{ 417, 464, 22 },
{ 465, 488, 24 },
{ 489, 570, 26 },
{ 571, 584, 28 },
{ 585, 612, 30 },
{ 613, 626, 32 },
{ 627, 640, 34 },
{ 641, 654, 38 },
{ 655, 718, 40 },
{ 719, 900, 42 }, -- hier ist eine merkwürdige Zählung 897 bis 904 sind vier doppelseitige Bilder
{ 901, 952, 38 } -- so dass es textlich mit 905 weitergeht die Seiten 897 bis 904 fehlen quasi
}, -- 6
{ { 1, 92, 8 },
{ 93, 140, 10 },
{ 141, 216, 12 },
{ 217, 356, 14 },
{ 357, 378, 16 },
{ 379, 440, 18 },
{ 441, 454, 20 },
{ 455, 562, 22 },
{ 563, 576, 24 },
{ 577, 620, 28 },
{ 621, 640, 30 },
{ 641, 688, 32 },
{ 698, 776, 34 },
{ 777, 779, 36 },
{ 780, 951, 38 } }, -- 7
{ { 1, 8, 10 },
{ 9, 68, 14 },
{ 69, 116, 15 }, -- ungerader Seitensprung
{ 117, 136, 17 },
{ 137, 152, 19 },
{ 153, 204, 21 },
{ 205, 288, 23 },
{ 289, 296, 25 },
{ 297, 322, 29 },
{ 323, 348, 31 },
{ 349, 462, 33 },
{ 463, 524, 35 },
{ 525, 658, 37 },
{ 659, 820, 39 },
{ 821, 872, 41 },
{ 873, 951, 45 } }, -- 8
{ { 1, 16, 11 }, -- ungerader Seitensprung
{ 17, 42, 13 },
{ 43, 577, 15 }, -- ungerade Seitenzahl vor Bild
{ 578, 682, 17 },
{ 683, 688, 21 },
{ 689, 768, 23 },
{ 769, 776, 25 },
{ 777, 778, 27 },
{ 779, 842, 29 },
{ 843, 951, 31 } }, -- 9
{ { 1, 72, 10 },
{ 73, 208, 16 },
{ 209, 288, 18 },
{ 289, 416, 20 },
{ 417, 952, 22 } }, -- 10
{ { 1, 752, 8 },
{ 753, 874, 10 },
{ 875, 949, 12 } }, -- 11
{ { 1, 136, 8 },
{ 137, 422, 10 },
{ 423, 544, 12 },
{ 545, 632, 14 },
{ 633, 816, 16 },
{ 817, 952, 18 } }, -- 12
{ { 1, 284, 8 },
{ 285, 374, 10 },
{ 375, 502, 12 },
{ 503, 708, 14 },
{ 709, 856, 16 },
{ 857, 954, 18 } }, -- 13
{ { 1, 48, 8 },
{ 49, 66, 10 },
{ 67, 70, 12 },
{ 71, 78, 14 },
{ 79, 106, 18 },
{ 107, 194, 20 },
{ 195, 378, 24 },
{ 379, 526, 26 },
{ 527, 606, 28 },
{ 607, 698, 30 },
{ 699, 873, 32 },
{ 874, 963, 34 } }, -- 14
{ { 1, 64, 8 },
{ 65, 192, 10 },
{ 193, 324, 12 },
{ 325, 894, 15 }, -- abnormal ungerader Sprung
{ 895, 1016, 17 },
{ 1017, 1087, 19 }, -- ungewöhnlicher Einschub S. 1088 und 1089 sind auf 1106a und 1106b
{ 1090, 1120, 17 } }, -- 15
{ { 1, 292, 12 },
{ 293, 312, 14 },
{ 313, 362, 16 },
{ 363, 370, 18 },
{ 371, 826, 20 },
{ 827, 1118, 24} }, -- 16
{ { 1, 58, 12 },
{ 59, 270, 14 },
{ 271, 334, 16 },
{ 335, 400, 20 },
{ 401, 528, 24 },
{ 529, 562, 26 },
{ 563, 592, 30 },
{ 593, 610, 32 },
{ 611, 682, 34 },
{ 683, 684, 36 },
{ 685, 686, 38 },
{ 687, 688, 40 },
{ 689, 752, 42 },
{ 753, 888, 44 },
{ 889, 1024, 46 },
{ 1025, 1112, 48 } }, -- 17
{ { 1, 16, 10 },
{ 17, 40, 12 },
{ 41, 48, 14 },
{ 49, 152, 18 },
{ 153, 234, 22 },
{ 235, 278, 26 },
{ 279, 392, 28 },
{ 393, 448, 30 },
{ 449, 576, 32 },
{ 577, 610, 36 },
{ 611, 628, 38 }, -- zwischen S. 614 und 615 ist ein Bild mit Anhängsel 0652a
{ 629, 644, 42 },
{ 645, 832, 44 },
{ 833, 848, 46 },
{ 849, 888, 48 },
{ 889, 1112, 50 } }, -- 18
{ { 1, 88, 10 },
{ 89, 218, 12 },
{ 219, 312, 14 },
{ 313, 396, 16 },
{ 397, 416, 18 },
{ 417, 504, 20 },
{ 505, 652, 22 },
{ 653, 740, 24 },
{ 741, 848, 26 },
{ 849, 852, 28 },
{ 853, 912, 30 },
{ 913, 988, 32 },
{ 989, 1114, 34 } }, -- 19
{ { 1, 92, 8 },
{ 93, 202, 10 },
{ 203, 272, 12 },
{ 273, 304, 14 },
{ 305, 344, 16 },
{ 345, 372, 18 },
{ 373, 456, 20 },
{ 457, 458, 24 },
{ 459, 536, 26 },
{ 537, 692, 28 },
{ 693, 918, 30 },
{ 919, 1107, 32 } }, -- 20
{ { 1, 104, 8 },
{ 105, 188, 10 },
{ 189, 474, 12 },
{ 413, 546, 14 },
{ 547, 568, 16 },
{ 569, 700, 18 },
{ 701, 740, 24 },
{ 741, 788, 26 },
{ 789, 940, 28 },
{ 941, 992, 30 },
{ 993, 1096, 32 },
{ 1097, 1110, 34 } }, -- 21
{ { 1, 98, 8 },
{ 99, 256, 10 },
{ 257, 352, 12 },
{ 353, 490, 14 },
{ 491, 688, 16 },
{ 689, 848, 20 },
{ 849, 1040, 22 },
{ 1041, 1089, 24 } }, -- 22
{ { 1, 1015, 8 } }, -- 23
{ { 1, 8, 8 },
{ 9, 574, 10 },
{ 575, 976, 12 } }, -- 24
{ { 1, 104, 8 },
{ 105, 680, 10 },
{ 681, 740, 12 },
{ 741, 760, 16 },
{ 761, 943, 18 } }, -- 25
{ { 1, 24, 8 },
{ 25, 74, 10 },
{ 75, 86, 12 },
{ 87, 96, 14 },
{ 97, 108, 16 },
{ 109, 248, 18 },
{ 249, 360, 20 },
{ 361, 440, 22 },
{ 441, 680, 24 },
{ 681, 840, 26 },
{ 841, 1000, 28 },
{ 1001, 1104, 30 } } } }, -- 26
ranges = { { -- 1. Edition Salmonsens store illustrerede konversationsleksikon; en nordisk encyklopædi
"A–Arkaisk", -- 1
"Arkaisme–Bisceglio", -- 2
"Bischarin–Canada", -- 3
"Canadian River–Dase", -- 4
"Dasent–Éon", -- 5
"Eon–Franske Revolutionskrige", -- 6
"Franskfodet–Grækenland", -- 7
"Grækenland–Horn", -- 8
"Horn–Jærv", -- 9
"Jætte–Kryolit", -- 10
"Kryolitglas–Lydtragt", -- 11
"Lyell–Musik", -- 12
"Musikakademi–Pantheon", -- 13
"Panthoos–Richter", -- 14
"Richter–Sjögren", -- 15
"Sjøgren–Syntagma", -- 16
"Syntaks–Valence", -- 17
"Valencia–Øynhausen", -- 18
"Supplement" }, -- 19
{ -- 2. Edition
"A–Arbejdergilder", -- 1
"Arbejderhaver–Benzol", -- 2
"Benzolderivater–Brides", -- 3
"Bridge–Cikader", -- 4
"Cikorie–Demersale", -- 5
"Demeter–Elektriske Sikringer", -- 6
"Elektriske Sporveje–Fiesole", -- 7
"Fiévée–Friehling", -- 8
"Friele–Gradient", -- 9
"Gradischa–Hasselgren", -- 10
"Hasselmus–Hven", -- 11
"Hvene–Jernbaner", -- 12
"Jernbaneret–Kirkeskat", -- 13
"Kirkeskov–Kvadratrix", -- 14
"Kvadratrod–Ludmila", -- 15
"Ludolf–Miel", -- 16
"Mielck–Nordland", -- 17
"Nordlandsbaad–Perleøerne", -- 18
"Perlit–Rendehest", -- 19
"Renden–Schinkel", -- 20
"Schinopsis–Spektrum", -- 21
"Spekulation–Søøre", -- 22
"T–Tysk frisindede Parti", -- 23
"Tyskland–Vertere", -- 24
"Werth–Øyslebø", -- 25
"Supplement: A–Øyslebø" } }, -- 26
serial = Serial }
-- Runeberg/Salmonsen