"ഘടകം:Maki icon overview" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം
(ചെ.)No edit summary റ്റാഗ്: Reverted |
No edit summary |
||
| (ഒരേ ഉപയോക്താവ് ചെയ്ത ഇടയ്ക്കുള്ള ഒരു നാൾപ്പതിപ്പ് പ്രദർശിപ്പിക്കുന്നില്ല) | |||
| വരി 1: | വരി 1: | ||
local p = {} --p stands for package | |||
p.numbers = {} | |||
for i = 1, 99 do | |||
table.insert( p.numbers, "-number" ) | |||
end | |||
p.letters = {} | |||
for i = 1, 26 do | |||
table.insert( p.letters, "-letter" ) | |||
end | |||
p.icons = { | |||
"aerialway", | |||
"airfield", | |||
"airport", | |||
"alcohol-shop", | |||
"american-football", | |||
"amusement-park", | |||
"animal-shelter", | |||
"aquarium", | |||
"arrow", | |||
"art-gallery", | |||
"attraction", | |||
"bakery", | |||
"bank-JP", | |||
"bank", | |||
"bar", | |||
"barrier", | |||
"baseball", | |||
"basketball", | |||
"bbq", | |||
"beach", | |||
"beer", | |||
"bicycle-share", | |||
"bicycle", | |||
"blood-bank", | |||
"bowling-alley", | |||
"bridge", | |||
"building-alt1", | |||
"building", | |||
"bus", | |||
"cafe", | |||
"campsite", | |||
"car-rental", | |||
"car-repair", | |||
"car", | |||
"casino", | |||
"castle-JP", | |||
"castle", | |||
"caution", | |||
"cemetery-JP", | |||
"cemetery", | |||
"charging-station", | |||
"cinema", | |||
"circle-stroked", | |||
"circle", | |||
"city", | |||
"clothing-store", | |||
"college-JP", | |||
"college", | |||
"commercial", | |||
"communications-tower", | |||
"confectionery", | |||
"construction", | |||
"convenience", | |||
"cricket", | |||
"cross", | |||
"dam", | |||
"danger", | |||
"defibrillator", | |||
"dentist", | |||
"diamond", | |||
"doctor", | |||
"dog-park", | |||
"drinking-water", | |||
"elevator", | |||
"embassy", | |||
"emergency-phone", | |||
"entrance-alt1", | |||
"entrance", | |||
"farm", | |||
"fast-food", | |||
"fence", | |||
"ferry-JP", | |||
"ferry", | |||
"fire-station-JP", | |||
"fire-station", | |||
"fitness-centre", | |||
"florist", | |||
"fuel", | |||
"furniture", | |||
"gaming", | |||
"garden-centre", | |||
"garden", | |||
"gate", | |||
"gift", | |||
"globe", | |||
"golf", | |||
"grocery", | |||
"hairdresser", | |||
"harbor", | |||
"hardware", | |||
"heart", | |||
"heliport", | |||
"highway-rest-area", | |||
"historic", | |||
"home", | |||
"horse-riding", | |||
"hospital-JP", | |||
"hospital", | |||
"hot-spring", | |||
"ice-cream", | |||
"industry", | |||
"information", | |||
"jewelry-store", | |||
"karaoke", | |||
"landmark-JP", | |||
"landmark", | |||
"landuse", | |||
"laundry", | |||
"library", | |||
"lift-gate", | |||
"lighthouse-JP", | |||
"lighthouse", | |||
"lodging", | |||
"logging", | |||
"marker-stroked", | |||
"marker", | |||
"mobile-phone", | |||
"monument-JP", | |||
"monument", | |||
"mountain", | |||
"museum", | |||
"music", | |||
"natural", | |||
"observation-tower", | |||
"optician", | |||
"paint", | |||
"park-alt1", | |||
"park", | |||
"parking-garage", | |||
"parking-paid", | |||
"parking", | |||
"pharmacy", | |||
"picnic-site", | |||
"pitch", | |||
"place-of-worship", | |||
"playground", | |||
"police-JP", | |||
"police", | |||
"post-JP", | |||
"post", | |||
"prison", | |||
"racetrack-boat", | |||
"racetrack-cycling", | |||
"racetrack-horse", | |||
"racetrack", | |||
"rail-light", | |||
"rail-metro", | |||
"rail", | |||
"ranger-station", | |||
"recycling", | |||
"religious-buddhist", | |||
"religious-christian", | |||
"religious-jewish", | |||
"religious-muslim", | |||
"religious-shinto", | |||
"residential-community", | |||
"restaurant-bbq", | |||
"restaurant-noodle", | |||
"restaurant-pizza", | |||
"restaurant-seafood", | |||
"restaurant-sushi", | |||
"restaurant", | |||
"road-accident", | |||
"roadblock", | |||
"rocket", | |||
"school-JP", | |||
"school", | |||
"scooter", | |||
"shelter", | |||
"shoe", | |||
"shop", | |||
"skateboard", | |||
"skiing", | |||
"slaughterhouse", | |||
"slipway", | |||
"snowmobile", | |||
"soccer", | |||
"square-stroked", | |||
"square", | |||
"stadium", | |||
"star-stroked", | |||
"star", | |||
"suitcase", | |||
"swimming", | |||
"table-tennis", | |||
"teahouse", | |||
"telephone", | |||
"tennis", | |||
"theatre", | |||
"toilet", | |||
"toll-booth", | |||
"town-hall", | |||
"town", | |||
"triangle-stroked", | |||
"triangle", | |||
"tunnel", | |||
"veterinary", | |||
"viewpoint", | |||
"village", | |||
"volcano", | |||
"volleyball", | |||
"warehouse", | |||
"waste-basket", | |||
"watch", | |||
"water", | |||
"waterfall", | |||
"watermill", | |||
"wetland", | |||
"wheelchair", | |||
"windmill", | |||
"zoo" | |||
} | |||
p.step = 0.08 | |||
p.columnCount = 15 | |||
function p.grid( frame ) | |||
local iconKey = frame.args.icons or "icons" | |||
local iconList = p[iconKey] | |||
local height = math.floor( math.ceil( #iconList / p.columnCount ) * p.step * 729 + 80 ) | |||
return frame:preprocess( | |||
'<mapframe text="Maki Icons" width="1000" height="' | |||
.. height | |||
.. [[" align="right" zoom="10"> | |||
{ | |||
"type": "FeatureCollection", | |||
"features": [ | |||
]] | |||
.. table.concat( p.coordGrid( iconList ), ",\n " ) | |||
.. [[ | |||
] | |||
} | |||
</mapframe>]] | |||
) | |||
end | |||
function p.coordGrid( iconList ) | |||
local outputTable = {} | |||
local iconIndex = 1 | |||
-- Stop iterating rows when we run out of icons. | |||
for y = 0, 999, p.step do | |||
for x = 0, ( p.columnCount - 1 ) * p.step, p.step do | |||
local icon = iconList[iconIndex] | |||
if not icon then | |||
return outputTable | |||
end | |||
-- Positive Y is up, so negate to read top-to-bottom. | |||
table.insert( outputTable, '{ "type": "Feature", ' | |||
.. '"geometry": { "type": "Point", "coordinates": [ ' | |||
.. x | |||
.. ', -' | |||
.. y | |||
.. ' ] }, ' | |||
.. '"properties": { "title": "\\"marker-symbol\\": \\"' | |||
.. icon | |||
.. '\\"", "marker-symbol": "' | |||
.. icon | |||
.. '", "marker-color": "54595d", "marker-size": "large" } }' | |||
) | |||
iconIndex = iconIndex + 1 | |||
end | |||
end | |||
end | |||
function p.list(frame) | function p.list(frame) | ||
local outputTable = {} | local outputTable = {} | ||
| വരി 33: | വരി 311: | ||
return frame:preprocess(table.concat(outputTable)) | return frame:preprocess(table.concat(outputTable)) | ||
end | end | ||
return p | |||
14:15, 8 ജനുവരി 2025-നു നിലവിലുള്ള രൂപം
Usage
Grid layout
This mode shows all icons embedded in a Kartographer map. Hovering or clicking an icon shows the corresponding name to use in a map's marker-symbol.
{{#invoke:Maki icon overview | grid}}
- icons
- If you want to show the
numbersorlettersinstead of icons, provide one of these keywords to theiconsparameter.
{{#invoke:Maki icon overview | grid
| icons = letters
}}
Table layout
Renders the icons in a list, which is more suitable for searching.
{{#invoke:Maki icon overview | list}}
If you want to provide translations or descriptions of some icons, this can be accomplished by giving the icon name as a template parameter, and the text as a value:
{{#invoke:Maki icon overview | list
| animal-shelter = Domestic animal medical and adoption center.
| toll-booth = Roadside nuisance for collecting money.
}}
local p = {} --p stands for package
p.numbers = {}
for i = 1, 99 do
table.insert( p.numbers, "-number" )
end
p.letters = {}
for i = 1, 26 do
table.insert( p.letters, "-letter" )
end
p.icons = {
"aerialway",
"airfield",
"airport",
"alcohol-shop",
"american-football",
"amusement-park",
"animal-shelter",
"aquarium",
"arrow",
"art-gallery",
"attraction",
"bakery",
"bank-JP",
"bank",
"bar",
"barrier",
"baseball",
"basketball",
"bbq",
"beach",
"beer",
"bicycle-share",
"bicycle",
"blood-bank",
"bowling-alley",
"bridge",
"building-alt1",
"building",
"bus",
"cafe",
"campsite",
"car-rental",
"car-repair",
"car",
"casino",
"castle-JP",
"castle",
"caution",
"cemetery-JP",
"cemetery",
"charging-station",
"cinema",
"circle-stroked",
"circle",
"city",
"clothing-store",
"college-JP",
"college",
"commercial",
"communications-tower",
"confectionery",
"construction",
"convenience",
"cricket",
"cross",
"dam",
"danger",
"defibrillator",
"dentist",
"diamond",
"doctor",
"dog-park",
"drinking-water",
"elevator",
"embassy",
"emergency-phone",
"entrance-alt1",
"entrance",
"farm",
"fast-food",
"fence",
"ferry-JP",
"ferry",
"fire-station-JP",
"fire-station",
"fitness-centre",
"florist",
"fuel",
"furniture",
"gaming",
"garden-centre",
"garden",
"gate",
"gift",
"globe",
"golf",
"grocery",
"hairdresser",
"harbor",
"hardware",
"heart",
"heliport",
"highway-rest-area",
"historic",
"home",
"horse-riding",
"hospital-JP",
"hospital",
"hot-spring",
"ice-cream",
"industry",
"information",
"jewelry-store",
"karaoke",
"landmark-JP",
"landmark",
"landuse",
"laundry",
"library",
"lift-gate",
"lighthouse-JP",
"lighthouse",
"lodging",
"logging",
"marker-stroked",
"marker",
"mobile-phone",
"monument-JP",
"monument",
"mountain",
"museum",
"music",
"natural",
"observation-tower",
"optician",
"paint",
"park-alt1",
"park",
"parking-garage",
"parking-paid",
"parking",
"pharmacy",
"picnic-site",
"pitch",
"place-of-worship",
"playground",
"police-JP",
"police",
"post-JP",
"post",
"prison",
"racetrack-boat",
"racetrack-cycling",
"racetrack-horse",
"racetrack",
"rail-light",
"rail-metro",
"rail",
"ranger-station",
"recycling",
"religious-buddhist",
"religious-christian",
"religious-jewish",
"religious-muslim",
"religious-shinto",
"residential-community",
"restaurant-bbq",
"restaurant-noodle",
"restaurant-pizza",
"restaurant-seafood",
"restaurant-sushi",
"restaurant",
"road-accident",
"roadblock",
"rocket",
"school-JP",
"school",
"scooter",
"shelter",
"shoe",
"shop",
"skateboard",
"skiing",
"slaughterhouse",
"slipway",
"snowmobile",
"soccer",
"square-stroked",
"square",
"stadium",
"star-stroked",
"star",
"suitcase",
"swimming",
"table-tennis",
"teahouse",
"telephone",
"tennis",
"theatre",
"toilet",
"toll-booth",
"town-hall",
"town",
"triangle-stroked",
"triangle",
"tunnel",
"veterinary",
"viewpoint",
"village",
"volcano",
"volleyball",
"warehouse",
"waste-basket",
"watch",
"water",
"waterfall",
"watermill",
"wetland",
"wheelchair",
"windmill",
"zoo"
}
p.step = 0.08
p.columnCount = 15
function p.grid( frame )
local iconKey = frame.args.icons or "icons"
local iconList = p[iconKey]
local height = math.floor( math.ceil( #iconList / p.columnCount ) * p.step * 729 + 80 )
return frame:preprocess(
'<mapframe text="Maki Icons" width="1000" height="'
.. height
.. [[" align="right" zoom="10">
{
"type": "FeatureCollection",
"features": [
]]
.. table.concat( p.coordGrid( iconList ), ",\n " )
.. [[
]
}
</mapframe>]]
)
end
function p.coordGrid( iconList )
local outputTable = {}
local iconIndex = 1
-- Stop iterating rows when we run out of icons.
for y = 0, 999, p.step do
for x = 0, ( p.columnCount - 1 ) * p.step, p.step do
local icon = iconList[iconIndex]
if not icon then
return outputTable
end
-- Positive Y is up, so negate to read top-to-bottom.
table.insert( outputTable, '{ "type": "Feature", '
.. '"geometry": { "type": "Point", "coordinates": [ '
.. x
.. ', -'
.. y
.. ' ] }, '
.. '"properties": { "title": "\\"marker-symbol\\": \\"'
.. icon
.. '\\"", "marker-symbol": "'
.. icon
.. '", "marker-color": "54595d", "marker-size": "large" } }'
)
iconIndex = iconIndex + 1
end
end
end
function p.list(frame)
local outputTable = {}
local hasDescriptions = false
for key, icon in pairs(p.icons) do
-- Use the icon variable for the correct file reference
table.insert(outputTable, '|-\n| [[File:Maki7-' .. icon .. '.svg|18px]] || ' .. icon)
-- Check for and include descriptions if available
local helpText = frame.args[icon] or frame:getParent().args[icon]
if helpText then
table.insert(outputTable, ' || ' .. helpText)
hasDescriptions = true
end
table.insert(outputTable, '\n')
end
-- Table header
local tableHeader = [[
{|class="wikitable"
|+ {{int:kartographer-icon-docs-table}}
! {{int:kartographer-icon-docs-icon}} !! {{int:kartographer-icon-docs-key}}
]]
if hasDescriptions then
tableHeader = tableHeader .. '!! {{int:kartographer-icon-docs-help}}'
end
table.insert(outputTable, 1, tableHeader .. '\n')
-- Table footer
table.insert(outputTable, '|}')
return frame:preprocess(table.concat(outputTable))
end
return p