Redigerer
Modul:Messierobjekter
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
local p = {} -- henter inn nødvendige moduler local getValueFromID = require('Modul:Sandkasse/Cocu/Wikidata').getValueFromID -- muliggjør arbitrary access local ISOdate = require('Modul:ISOtilNorskdato').isodato -- formatterer dato local function legend(frame, args) local opencluster = mw.getCurrentFrame():expandTemplate{ title = 'Legend2' , args = { '#eeeeff', '[[Stjernehop]]/[[Åpen stjernehop]] ', ['border'] = '1px solid #aaaaaa' } } local globularcluster = mw.getCurrentFrame():expandTemplate{ title = 'Legend2' , args = { '#ffe4b5', '[[Kulehop]] ', ['border'] = '1px solid #aaaaaa' } } local nebula = mw.getCurrentFrame():expandTemplate{ title = 'Legend2' , args = { '#ffcccc', '[[Stjernetåke]] ', ['border'] = '1px solid #aaaaaa' } } local planetarynebula = mw.getCurrentFrame():expandTemplate{ title = 'Legend2' , args = { '#ccffee', '[[Planetarisk tåke]] ', ['border'] = '1px solid #aaaaaa' } } local supernovaremnant = mw.getCurrentFrame():expandTemplate{ title = 'Legend2' , args = { '#ffccee', '[[Supernovarest]] ', ['border'] = '1px solid #aaaaaa' } } local galaxy = mw.getCurrentFrame():expandTemplate{ title = 'Legend2' , args = { '#ffffcc', '[[Galakse]] ', ['border'] = '1px solid #aaaaaa' } } local other = mw.getCurrentFrame():expandTemplate{ title = 'Legend2' , args = { '#ffffff', 'Andre', ['border'] = '1px solid #aaaaaa' } } local result = opencluster .. globularcluster .. nebula .. planetarynebula .. supernovaremnant .. galaxy .. other .. '\n' return result end local function findQnr(frame) return { M1 = 10934, M2 = 11099, M3 = 11202, M4 = 11212, M5 = 11217, M6 = 11225, M7 = 11234, M8 = 11243, M9 = 11258, M10 = 11267, M11 = 11294, M12 = 11307, M13 = 11312, M14 = 11320, M15 = 11332, M16 = 11349, M17 = 11357, M18 = 11370, M19 = 11374, M20 = 11377, M21 = 11383, M22 = 11392, M23 = 11396, M24 = 13618, M25 = 13623, M26 = 13626, M27 = 13628, M28 = 13644, M29 = 13647, M30 = 13653, M31 = 2469, M32 = 13720, M33 = 13724, M34 = 13729, M35 = 13736, M36 = 13738, M37 = 13878, M38 = 13880, M39 = 13883, M40 = 13886, M41 = 13897, M42 = 13903, M43 = 13906, M44 = 13760, M45 = 13423, M46 = 13910, M47 = 13942, M48 = 13951, M49 = 13952, M50 = 13956, M51 = 13957, M52 = 13958, M53 = 13960, M54 = 13962, M55 = 13965, M56 = 13967, M57 = 13969, M58 = 13970, M59 = 13971, M60 = 13976, M61 = 13978, M62 = 13980, M63 = 13981, M64 = 13983, M65 = 13986, M66 = 13992, M67 = 13997, M68 = 14000, M69 = 14002, M70 = 14004, M71 = 14006, M72 = 14008, M73 = 14009, M74 = 14013, M75 = 14014, M76 = 14015, M77 = 14017, M78 = 14018, M79 = 14019, M80 = 14021, M81 = 14024, M82 = 14026, M83 = 14030, M84 = 14033, M85 = 14035, M86 = 2577, M87 = 14041, M88 = 14048, M89 = 14337, M90 = 14343, M91 = 14344, M92 = 14346, M93 = 14347, M94 = 14349, M95 = 14351, M96 = 14354, M97 = 14359, M98 = 14361, M99 = 14364, M100 = 14365, M101 = 14371, M102 = 14374, M103 = 14376, M104 = 4647, M105 = 14377, M106 = 4658, M107 = 4755, M108 = 4751, M109 = 4746, M110 = 4662, } end local function header(frame, args) return [=[{| class="wikitable" ![[Messierkatalogen|Messier-<br />nummer]] ![[NGC-katalogen|NGC]]-/IC-nummer !Vanlig navn !Bilde !Objekt !Oppdager !Oppdaget ![[Stjernebilde]] !Ref]=] end function p.row(frame, args) retval = '' i = 1 repeat -- finner Q-nummeret til Messierobjektet local qnr = findQnr(frame) qnr = tostring(qnr['M' .. i]) -- definerer Q-iden for kobling mot Wikidata Qid = 'Q' .. qnr -- definerer Messiernummer Mnr = 'M' .. i -- definerer hva som skal stå i kolonnen for 'vanlig navn'. i denne tabellen brukes artikkelens etikett på Wikidata if mw.wikibase.label("Q" .. qnr) == nil then label = '' else label = mw.wikibase.label("Q" .. qnr) end local entity = mw.wikibase.getEntity("Q" .. qnr) -- definerer hvilken side på nowp det skal lenkes til og hva som skal vises som lenketekst local sitelink = mw.wikibase.sitelink("Q" .. qnr) if sitelink == nil then if label == '' then sitelink = '[[Messier ' .. i .. '|' .. Mnr .. ']]' else sitelink = '[[' .. label .. '|' .. Mnr .. ']]' end else sitelink = '[[' .. sitelink .. '|' .. Mnr .. ']]' end -- definerer om det skal vises noe i kolonnen for 'vanlig navn'. hvis objektet ikke har noe annet navn enn 'Messier xxx', så vises det ingenting if label:match("Messier%s%d") or label:match("M%d") or label:match("M%s%d") then label = '' else label = label end -- -- henter ut bilde fra Wikidata local p18 = mw.wikibase.getEntityObject("Q" .. qnr).claims.P18 if not p18 then image = "" else image = "[[Fil:" .. p18[1].mainsnak.datavalue.value .. "|75px]]" end -- henter ut objekttype(r) fra Wikidata local claims = entity.claims["P31"] if claims then -- if wiki-linked value output as link if possible if (claims[1] and claims[1].mainsnak.snaktype == "value" and claims[1].mainsnak.datavalue.type == "wikibase-entityid") then local out = {} for k, v in pairs(claims) do local sitelink = mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) local label = mw.wikibase.label("Q" .. v.mainsnak.datavalue.value["numeric-id"]) if label == nil then label = "" end if sitelink then out[#out + 1] = "[[" .. sitelink .. "|" .. label .. "]]" else out[#out + 1] = label end end objecttype = table.concat(out, "<br /> ") else objecttype = entity:formatPropertyValues("P31", mw.wikibase.entity.claimRanks).value end else objecttype = "" end -- definerer radfargen på bakgrunn av objekktype if objecttype == nil then color = "" elseif objecttype:match("..kulehop..") then color = 'style="background:#ffe4b5"' elseif objecttype:match("..stjernetåke..") or objecttype:match("..H.II..") or objecttype:match("..refleksjonståke..") then color = 'style="background:#ffcccc"' elseif objecttype:match("..galakse..") then color = 'style="background:#ffffcc"' elseif objecttype:match("..stjernehop..") or objecttype:match("..stjernesky..") then color = 'style="background:#eeeeff"' elseif objecttype:match("..supernova..") then color = 'style="background:#ffccee"' elseif objecttype:match("..planet..") then color = 'style="background:#ccffee"' else color = 'style="background:#ffffff"' end -- henter ut oppdager(e) fra Wikidata local claims = entity.claims["P61"] if claims then -- if wiki-linked value output as link if possible if (claims[1] and claims[1].mainsnak.snaktype == "value" and claims[1].mainsnak.datavalue.type == "wikibase-entityid") then local out = {} for k, v in pairs(claims) do local sitelink = mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) local label = mw.wikibase.label("Q" .. v.mainsnak.datavalue.value["numeric-id"]) if label == nil then label = "Q" .. v.mainsnak.datavalue.value["numeric-id"] end if sitelink then out[#out + 1] = "[[" .. sitelink .. "|" .. label .. "]]" else out[#out + 1] = label end end discoverer = table.concat(out, "<br /> ") else discoverer = entity:formatPropertyValues("P61", mw.wikibase.entity.claimRanks).value end else discoverer = "" end -- henter ut oppdagelsesdato fra Wikidata discovered = ISOdate({args = {[1] = getValueFromID{args = {[1] = Qid, [2] = 'P575', [3] = 'hent_wikidata'}}}}) -- henter ut stjernebilde fra Wikidata constellation = getValueFromID({args = {[1] = Qid, [2] = 'P59', [3] = 'hent_wikidata'}}) -- henter ut avstand fra Wikidata distance = getValueFromID({args = {[1] = Qid, [2] = 'P2583', [3] = 'hent_wikidata'}}) -- henter ut tilsynelatende størrelsesklasse fra Wikidata appmag = getValueFromID({args = {[1] = Qid, [2] = 'P1215', [3] = 'hent_wikidata'}}) -- henter ut luminositet fra Wikidata luminosity = getValueFromID({args = {[1] = Qid, [2] = 'P2060', [3] = 'hent_wikidata'}}) -- henter ut andre katalognavn fra Wikidata local claims = mw.wikibase.getEntity("Q" .. qnr).claims["P528"] if claims then catname = entity:formatPropertyValues("P528", mw.wikibase.entity.claimRanks).value else catname = '' end if string.match(catname, "NGC %d%d%d%d%d") == nil then if string.match(catname, "NGC %d%d%d%d") == nil then if string.match(catname, "NGC %d%d%d") == nil then if string.match(catname, "NGC %d%d") == nil then if string.match(catname, "NGC %d") == nil then if string.match(catname, "IC %d%d%d%d%d") == nil then if string.match(catname, "IC %d%d%d%d") == nil then if string.match(catname, "IC %d%d%d") == nil then if string.match(catname, "IC %d%d") == nil then if string.match(catname, "IC %d") == nil then ngcnr = "–" else ngcnr = string.match(catname, "IC %d") end else ngcnr = string.match(catname, "IC %d&d") end else ngcnr = string.match(catname, "IC %d%d%d") end else ngcnr = string.match(catname, "IC %d%d%d%d") end else ngcnr = string.match(catname, "IC %d%d%d%d%d") end else ngcnr = string.match(catname, "NGC %d") end else ngcnr = string.match(catname, "NGC %d%d") end else ngcnr = string.match(catname, "NGC %d%d%d") end else ngcnr = string.match(catname, "NGC %d%d%d%d") end else ngcnr = string.match(catname, "NGC %d%d%d%d%d") end -- lager en referanse -- definerer variabel i referansens url if i < 10 then url0 = '00' elseif i > 99 then url0 = "" else url0 = '0' end -- definerer variabel i referansens dato if i < 105 then year = '1771' else year = '1783' end ref = mw.getCurrentFrame():expandTemplate{ title = 'Kilde www', args = { ['tittel'] = 'Messier ' .. i, ['språk'] = 'engelsk', ['besøksdato'] = '2015-09-18', ['url'] = 'http://messier.seds.org/m/m' .. url0 .. i .. '.html', ['forfatter'] = 'Messier, Charles', ['dato'] = year } } -- skriver referanse refstart = '<ref name="Messier' .. i .. '">' refend = '</ref>' -- setter sammen raden(e) retval = retval .. '\n' .. [=[ |- ]=] .. color .. '\n' .. [=[ | ]=] .. sitelink .. '\n' .. [=[ |align="center"| ]=] .. ngcnr .. '\n' .. [=[ | <i>]=] .. label .. '</i>\n' .. [=[ |align="center"| ]=] .. image .. '\n' .. [=[ | ]=] .. objecttype .. '\n' .. [=[ | ]=] .. discoverer .. '\n' .. [=[ | ]=] .. discovered .. '\n' .. [=[ | ]=] .. constellation .. '\n' .. [=[ | ]=] .. frame:preprocess(refstart .. ref .. refend) .. '\n' -- kjører loop i=i+1 -- stopper her until i > 110 -- returner radene return retval end local function bottom(frame, args) return [=[ |- ![[Messierkatalogen|Messier-<br />nummer]] ![[NGC-katalogen|NGC]]-/IC-nummer !Vanlig navn !Bilde !Objekt !Oppdager !Oppdaget ![[Stjernebilde]] !Ref |}]=] end function p.build(frame, args) legend = legend(frame, args) header = header(frame, args) row = p.row(frame, args) bottom = bottom(frame, args) return legend .. header .. row .. bottom end function p.navbox(frame, args) navbox = '' i = 1 repeat -- finner Q-nummeret til Messierobjektet local qnr = findQnr(frame) qnr = tostring(qnr['M' .. i]) -- definerer Messiernummer Mnr = 'M' .. i -- finner labelen fra Wikidata if mw.wikibase.label("Q" .. qnr) == nil then label = '' else label = mw.wikibase.label("Q" .. qnr) end -- definerer hvilken side på nowp det skal lenkes til og hva som skal vises som lenketekst local sitelink = mw.wikibase.sitelink("Q" .. qnr) if i == 110 then separator = '' else separator = ' · ' end if sitelink == nil then if label == '' then sitelink = '[[Messier ' .. i .. '|' .. Mnr .. ']]' .. separator else sitelink = '[[' .. label .. '|' .. Mnr .. ']]' .. separator end else sitelink = '[[' .. sitelink .. '|' .. Mnr .. ']]' .. separator end navbox = navbox .. sitelink i=i+1 until i>110 return navbox end return p
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Forhåndsvis en side som bruker denne malen
Maler som brukes på denne siden:
Mal:Dokumentasjonsunderside
(
rediger
)
Mal:Hlist/styles.css
(
rediger
)
Mal:Messierobjekt
(
rediger
)
Mal:Navboks
(
rediger
)
Modul:Arguments
(
rediger
)
Modul:Messierobjekter/dok
(
rediger
)
Modul:Navbar
(
rediger
)
Modul:Navbar/configuration
(
rediger
)
Modul:Navboks
(
rediger
)
Modul:Navbox/configuration
(
rediger
)
Modul:Navbox/styles.css
(
rediger
)
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Modul
Diskusjon
English
Visninger
Les
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon