Ko:Taginfo/Taglists
taginfo API를 이용하면 태그 목록을 만들 수 있습니다. 나열할 태그를 정하기만 하면 taginfo에서 요소의 유형, 설명, 예시 사진, (설정에 따라) 오픈스트리트맵 데이터베이스에서 사용된 횟수를 자동으로 덧붙여 줍니다.
taginfo API를 활용한 간단한 틀을 문서에 삽입함으로써 오픈스트리트맵 위키에 태그 목록표를 넣을 수 있습니다. 이 기능을 활용하면 표를 일일이 손으로 구성하고 유지보수하지 않아도 됩니다. taginfo가 다 알아서 해 줍니다.
현재 오픈스트리트맵 위키에서는 태그 목록(taglist)을 이용하고 있습니다. 프로젝트 문서는 Ko:Taginfo/Taglists/Wiki project를 참고하세요. 태그 목록과 표의 장단점을 확인하려면 taglists_vs_templates 단락을 참고하세요.
태그 목록을 오픈스트리트맵 위키에 삽입하기
{{Taglist}} 틀을 문서에 삽입하고, 다음과 같이 tags
매개변수를 입력하세요.
{{Taglist|tags=highway=motorway,trunk,primary,secondary,tertiary,maxspeed=*,oneway=yes}}
그러면 다음과 같은 표가 생성됩니다.
구체적인 값 대신 애스터리스크(*)를 입력하면 키-값 쌍 대신 키의 설명/아이콘이 표시됩니다.
언어 설정하기
lang
매개변수를 설정하면 목록의 언어를 바꿀 수 있습니다. 기본값은 en(영어)입니다. 따라서
{{Taglist|tags=highway=motorway,trunk,primary,secondary,tertiary,oneway=yes|lang=ru}}
를 문서에 삽입하면 목록표가 러시아어로 표시됩니다.
현지화 작업이 제대로 이루어지려면 두 가지가 필요합니다.
1. 표의 머리 부분을 번역하기 위해 해당하는 단어의 번역어가 taginfo에 입력되어 있어야 합니다. https://github.com/joto/taginfo/blob/master/web/public/js/taglists.js를 수정하면 됩니다(업데이트는 수동으로 이루어지기 때문에, 며칠 정도 시간이 지나야 반영됩니다).
2. 키 또는 태그의 설명이 번역할 언어로 오픈스트리트맵 위키에 올라와 있어야 합니다. 키/태그 문서에 들어가서 정보 상자의 설명을 번역하세요(데이터 항목(item)에 있는 설명은 taginfo와 상관이 없습니다). 업데이트는 taginfo의 데이터베이스가 업데이트될 때 반영되며, 보통 하루 정도 걸립니다.
개체의 사용 횟수를 표에 추가하기
with_count=true
매개변수를 추가하면 오픈스트리트맵 데이터베이스에서 해당 키/태그가 사용된 횟수를 표에 덧붙입니다.
{{Taglist|tags=highway=motorway,trunk,primary,secondary,tertiary,maxspeed=*|with_count=true}}
는 다음과 같은 결과를 출력합니다.
렌더링 예시를 표에 추가하기
with_rendering=true
매개변수를 추가하면 오픈스트리트맵 홈페이지의 주요 스타일인 openstreetmap-carto에서 태그가 렌더링되는 모습을 표에 덧붙입니다.
{{Taglist|tags=shop=tea,bag|with_rendering=true}}
는 다음과 같은 결과를 출력합니다.
.
주의: 렌더링 이미지의 이름에 밑줄표(_)가 포함되면 안됩니다. 그러나 밑줄표를 공백으로 대체하면 문제 없이 작동합니다. 예를 들어, tree_row 태그를 렌더링한 모습을 나타낸 이미지는 File:Rendering-natural_tree_row-mapnik.png입니다. 이 이미지를 태그 목록표에 나타내려면 natural:tree_row 태그 설명 문서의 영어판으로 들어가서 ValueDescription 틀에 osmcarto-rendering=File:Rendering-natural tree row-mapnik.png를 덧붙이세요.
ValueDescription 틀에서 파일명을 수정했을 때, 수정한 내역이 반영되려면 하루가 걸립니다. 태그 목록은 taginfo API로 작동되고, taginfo의 데이터베이스는 하루에 한 번 업데이트되기 때문입니다.
특정 키에 속하는 태그를 '전부' 나열한 목록 만들기
다음과 같은 방법을 이용하면 특정 키에 속하는 태그를 '전부' 나열한 목록을 생성할 수 있습니다.
{{Taglist|tags=access}}
이렇게 생성된 목록에는 모든 태그가 포함되는 것이 아니라, 오픈스트리트맵 위키에 문서화된 태그만 포함됩니다. 더 구체적으로 말하자면, 설명 문서가 위키에 있고, 문서 내부에 Template:ValueDescription 틀이 존재하는 태그만 목록에 나열됩니다. 이 기능은 아마 원치 않는 결과를 출력할 경우가 많을 텐데, 스리슬쩍 목록이 바뀌거나, 나열하기 원하지 않는 낯선 태그까지 몽땅 목록표에 표시되기 때문입니다. 따라서 목록에 나열할 태그를 일일이 다 적어 주는 것이 더 좋습니다.
태그 목록을 여러분의 웹 페이지에 삽입하기
먼저 다음과 같이 jQuery와 taglists.js
를 여러분의 웹 페이지에 포함(include)하세요.
<script type="text/javascript" src=".../jquery-1.9.0.min.js"></script> <script type="text/javascript" src="https://taginfo.openstreetmap.org/js/taglists.js"></script>
그러고 나서 다음과 같이 HTML 코드를 작성하세요.
<div class="taglist" data-taginfo-taglist-tags="highway=motorway,trunk,primary,secondary,tertiary"> </div>
태그를 나열할 때는 키1=값1a,값1b,...,키2=값2a,값2b,...와 같은 방법을 사용합니다. 만약 값 없이 키만 추가하면 해당 키에 속하면서 오픈스트리트맵 위키에 설명 문서가 존재하는 모든 태그를 나열합니다.
data-taginfo-taglist-options
로 부가 설정을 전달할 수 있습니다. 표시 언어를 변경하려면 다음과 같이 작성합니다.
<div class="taglist" data-taginfo-taglist-tags="natural=wood,landuse=forest" data-taginfo-taglist-options='{"lang": "de"}'> </div>
오픈스트리트맵에서 태그가 사용된 횟수를 추가하려면 다음과 같이 작성합니다.
<div class="taglist" data-taginfo-taglist-tags="natural=wood,landuse=forest" data-taginfo-taglist-options='{"with_count": true}'> </div>
마지막으로 convert_to_taglist
함수를 호출해 표를 생성합니다.
<script type="text/javascript"> jQuery(document).ready(function() { taginfo_taglist.convert_to_taglist('.taglist'); }); </script>
이제 여러분이 입력한 div
의 내부에 표가 생깁니다.
table
요소에는 taginfo-taglist
클래스가 포함되어 있습니다. 이를 활용해 CSS로 표의 스타일을 바꿀 수 있습니다.
이 기능은 tags/list
taginfo API 호출을 이용합니다. 자세한 정보는 https://taginfo.openstreetmap.org/taginfo/apidoc#api_4_tags_list를 참고하세요.