aboutsummaryrefslogtreecommitdiff
path: root/files/ko/creating_a_microsummary/index.html
blob: 4c2b8c97344b5d3f898db5ce43ba789bcfb821f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
---
title: Creating a Microsummary
slug: Creating_a_Microsummary
translation_of: Archive/Mozilla/Creating_a_microsummary
---
<p>Microsummary Generator는 웹 페이지 내용으로부터 Microsummary를 생성하기 위한 명령어를 포함하고 있니다.웹 페이지는 Generators를 <code>&lt;head&gt;</code> 요소의 <code>&lt;link rel="microsummary"&gt;</code>요소에 의해 참조할 수 있습니다. Generators는 이것이 적용되는 웹 페이지 목록을 가지고 있는 경우, 사용자에 의해 개별적으로 다운로드하거나 설치할 수 있습니다.</p>
<p>이 튜토리얼에서는,<a class="external" href="http://www.spreadfirefox.com/">Spread Firefox home page</a>용으로 Firefox 의 현재 다운로드수를 <cite>Fx downloads</cite>와 함께 표시하는 Microsummary Generators를 만들어 보겠습니다. 예제 <cite>174475447 Fx downloads</cite></p>
<p>웹 페이지에서 Microsummary로 변환하려면 XSLT 변환 시트를 작성해 Generators를 웹 페에지에 적용하기 위한 방법을 통해 Generators를 다운로드 및 설치 할 수 있도록 합니다.</p>
<p>이 입문서에서는, 단계 마다 변환 시트나 그 외의 코드에서 추가된 새로운 항목은 알기 쉽게 <b>굵은 글씨로</b> 표시합니다.</p>
<h2 id=".EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0" name=".EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0">시작하기</h2>
<p>Generators는 <cite><a class="external" href="http://www.mozilla.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/microsummaries/0.1</a></cite>을 네임 스페이스로 하여 기본 요소가 <code>&lt;generator&gt;</code>인 XML 문서로 표현됩니다. Generators를 작성하려면 우선 신규로 텍스트 파일을 만들어 XML 선언과 <code>&lt;generator&gt;</code> 태그를 추가합니다.</p>
<pre class="eval"><b>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</b>
<b>&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"&gt;</b>
<b>&lt;/generator&gt;</b>
</pre>
<h2 id=".EB.AA.85.EB.AA.85.ED.95.98.EA.B8.B0" name=".EB.AA.85.EB.AA.85.ED.95.98.EA.B8.B0">명명하기</h2>
<p>Generators가 생성되었으면 Microsummary에 대한 이름으로서 <code>name</code> 속성을 가질 필요가 있습니다.이름은 이 Microsummary에서 어떤 정보를 제공하는지 사용자에게 명확하게 나타내 주는 것으로 정합니다.만드려는 Generators가 Firefox의 다운로드 수를 표시하는 Microsummary이므로 "Firefox Download Count"라는 이름을 붙이기로 하겠습니다.</p>
<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
           <b>name="Firefox Download Count"</b>&gt;
&lt;/generator&gt;
</pre>
<h2 id="XSLT_Sheet_.EC.B6.94.EA.B0.80" name="XSLT_Sheet_.EC.B6.94.EA.B0.80">XSLT Sheet 추가</h2>
<p>Generators는 웹 페이지 내용을 Microsummary로 변환할 때 XSLT 변환 시트를 포함해야 합니다. XSLT는 같은 정보를 가진 문서를 다른 형식으로 표현하기 위한 강력한 언어입니다.</p>
<p>Generators에 <code>&lt;template&gt;</code> 둘러싸는 XSLT 변환 시트를 추가합니다.</p>
<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
           name="Firefox Download Count"&gt;
  <b>&lt;template&gt;</b>
    <b>&lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;</b>
    <b>&lt;/transform&gt;</b>
  <b>&lt;/template&gt;</b>
&lt;/generator&gt;
</pre>
<p>Microsummary Generators는 내용을 출력하는 임의의 XSLT를 포함하지만 Firefox는 현재 XSLT의 내용 출력만 제공함을 유의하시기 바랍니다.</p>
<h2 id=".EC.B6.9C.EB.A0.A5_.ED.98.95.EC.8B.9D_.EC.A7.80.EC.A0.95" name=".EC.B6.9C.EB.A0.A5_.ED.98.95.EC.8B.9D_.EC.A7.80.EC.A0.95">출력 형식 지정</h2>
<p>XSLT 변환 시트는 텍스트 형식의 Microsummary를 생성하므로 XSLT <code>&lt;output&gt;</code> 요소로 이것을 지정합니다.</p>
<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
           name="Firefox Download Count"&gt;
  &lt;template&gt;
    &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
      <b>&lt;output method="text"/&gt;</b>
    &lt;/transform&gt;
  &lt;/template&gt;
&lt;/generator&gt;
</pre>
<h2 id=".EA.B0.84.EB.8B.A8.ED.95.9C_XSLT_.3Ctemplate.3E_.EC.82.AC.EC.9A.A9" name=".EA.B0.84.EB.8B.A8.ED.95.9C_XSLT_.3Ctemplate.3E_.EC.82.AC.EC.9A.A9">간단한 XSLT <code>&lt;template&gt;</code> 사용</h2>
<p>XSLT 프로세서는 변환 시트의 XSLT <code>&lt;template&gt;</code> 요소를 문서의 노드 집합과 비교하는 것으로 문서를 변환합니다.<code>&lt;template&gt;</code><code>match</code> 속성이 있는 노드와 맞으면 프로세서는 요소의 컨텐츠로 정의된 변환을 실행합니다.</p>
<p>문서의 노드 트리를 탐색해 문서의 내용에 근거해 재귀적으로 출력을 생성할 수 있으므로 이 메카니즘은 매우 강력합니다.그러나, Spread Firefox의 Microsummary를 생성하는 목적에 있어서는 문서의 루트 요소에 매치하는 단일한 <code>&lt;template&gt;</code> 요소만이 필요합니다.</p>
<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
           name="Firefox Download Count"&gt;
  &lt;template&gt;
    &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
      &lt;output method="text"/&gt;
      <b>&lt;template match="/"&gt;</b>
      <b>&lt;/template&gt;</b>
    &lt;/transform&gt;
  &lt;/template&gt;
&lt;/generator&gt;
</pre>
<h2 id=".EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C.EC.88.98_.EA.B0.80.EC.A0.B8.EC.98.A4.EA.B8.B0" name=".EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C.EC.88.98_.EA.B0.80.EC.A0.B8.EC.98.A4.EA.B8.B0">다운로드수 가져오기</h2>
<p>XSLT 변환 시트의 출력에 다운로드수를 포함하려면 템플릿에 XSLT의 <code>&lt;value-of&gt;</code> 요소를 추가해야 합니다. <code>select</code> 속성에는 다운로드수를 포함한 노드를 지시하는 XPath를 기입합니다.</p>
<p>XPath는 HTML/XML 문서의 노드를 특정하기 위한 언어입니다.이것에는 노드와 내용을 조작하기 위한 기본적인 기능이 포함되어 있습니다. 특정 노드를 표현하는 XPath를을 얻는 가장 빠른 사용 방법은 [<a class="link-https" href="https://addons.mozilla.org/firefox/1095/" rel="freelink">https://addons.mozilla.org/firefox/1095/</a> 확장 기능 XPath Checker]을 사용하는 것입니다.</p>
<p>확장 기능을 설치 하기 위해서는 Firefox 다시 시작합니다. <a class="external" href="http://www.spreadfirefox.com/">Spread Firefox 홈 페이지</a>에 가서 Firefox의 다운로드수를 찾아내(오른쪽 맨 밑의 큰 수치) 숫자 위에서 오른쪽을 클릭해 context menu로부터 <cite>View XPath</cite>을 선택합니다..</p>
<p>XPath Checker는 새 창을 엽니다. 창에는 <cite>XPath</cite>필드가 포함되어 거기에는 다운로드수를 나타내는 노드를 가리키는 XPath 기술: <cite>id('download-count')</cite>이라고 표현됩니다.</p>
<p>XSLT의 <code>&lt;template&gt;</code>요소에 <code>&lt;value-of&gt;</code>요소를 추가해,<code>select</code> 속성에 XPath 내용을 기입합니다.</p>
<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
           name="Firefox Download Count"&gt;
  &lt;template&gt;
    &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
      &lt;output method="text"/&gt;
      &lt;template match="/"&gt;
        <b>&lt;value-of select="id('download-count')"/&gt;</b>
      &lt;/template&gt;
    &lt;/transform&gt;
  &lt;/template&gt;
&lt;/generator&gt;
</pre>
<h2 id=".EB.82.B4.EC.9A.A9_.EC.B6.94.EA.B0.80" name=".EB.82.B4.EC.9A.A9_.EC.B6.94.EA.B0.80">내용 추가</h2>
<p>Microsummary에 <cite>Fx downloads</cite>를 추가하려면 추가하고 싶은 컨텐츠를 가진 XSLT의 <code>&lt;text&gt;</code> 요소를 XSLT의 <code>&lt;template&gt;</code> 요소에 추가할 필요가 있습니다.</p>
<p>Add a <code>&lt;text&gt;</code> element to the XSLT template with the content <cite>Fx downloads</cite>:</p>
<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
           name="Firefox Download Count"&gt;
  &lt;template&gt;
    &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
      &lt;output method="text"/&gt;
      &lt;template match="/"&gt;
        &lt;value-of select="id('download-count')"/&gt;
        <b>&lt;text&gt; Fx downloads&lt;/text&gt;</b>
      &lt;/template&gt;
    &lt;/transform&gt;
  &lt;/template&gt;
&lt;/generator&gt;
</pre>
<p>여러개의 공백을 포함할 수 있는 HTML과 달리 XSLT 태그간의 공백은 XSLT 출력에는 포함되지 않기 때문에, 다운로드수와 분리하기 위한 공백을 추가하는 것에 주의해 주세요.</p>
<p>이로서 Spread Firefox 홈 페이지를 Microsummary를 변환한 XSLT 변환 시트의 작성은 끝났습니다.</p>
<h2 id="Generators_.EC.A0.81.EC.9A.A9_.EC.9B.B9_.ED.8E.98.EC.9D.B4.EC.A7.80_.EC.A7.80.EC.A0.95" name="Generators_.EC.A0.81.EC.9A.A9_.EC.9B.B9_.ED.8E.98.EC.9D.B4.EC.A7.80_.EC.A7.80.EC.A0.95">Generators 적용 웹 페이지 지정</h2>
<p>여기까지 변환 시트의 작성을 마쳤으므로 그 다음 이것을 적용하는 웹 페이지를 지정할 필요가 있습니다.만약 우리가 Spread Firefox의 웹 관리자라면, <code>&lt;head&gt;</code> 요소에 <code>&lt;link rel="microsummary"&gt;</code> 태그를 추가하는 것으로써 웹페이지 자신으로부터 Generator 작성이 끝납니다.</p>
<pre class="eval">&lt;head&gt;
  ...
  <b>&lt;link rel="microsummary" href="path/to/our/generator.xml"&gt;</b>
&lt;/head&gt;
</pre>
<p><br>
 비록 사이트 관리자가 아니지만 Generator 안에 어느 페이지에 적용하는 지정하여 다운로드나 설치하도록 할 수 있습니다. 이를 위해서는 <code>&lt;generator&gt;</code> 요소에서 <code>&lt;pages&gt;</code> 요소를 사용합니다.</p>
<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
           name="Firefox Download Count"&gt;
  &lt;template&gt;
    &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
      &lt;output method="text"/&gt;
      &lt;template match="/"&gt;
        &lt;value-of select="id('download-count')"/&gt;
        &lt;text&gt; Fx downloads&lt;/text&gt;
      &lt;/template&gt;
    &lt;/transform&gt;
  &lt;/template&gt;
  <b>&lt;pages&gt;</b>
  <b>&lt;/pages&gt;</b>
&lt;/generator&gt;
</pre>
<p><code>&lt;pages&gt;</code>요소는 Generator를 적용하거나 혹은 적용하지 않은 페이지를 지정하는 <code>&lt;include&gt;</code> 혹은 <code>&lt;exclude&gt;</code>을 표시할 수 있습니다.</p>
<p><br>
 Generators를 웹 페이지에 적용하려면 <code>&lt;include&gt;</code> 요소를 추가합니다. 내용은 웹 페이지와 연결 시키는 정규 표현입니다. Generators를 페이지에 적용시키지 않으려면<code>&lt;exclude&gt;</code> 요소를 추가합니다.</p>
<p>기본적으로 Generators는 어느 페이지에도 적용되지 않기 때문에 적용하는 페이지를 명시적으로 지정할 필요가 있습니다.이전 적용하고 있던 페이지가 없는 한 어느 페이지도 적용을 제외할 필요는 없습니다.</p>
<p>Spread Firefox의 홈 페이지에 연결하는 <code>&lt;include&gt;</code> 요소를 추가합니다.</p>
<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" name="Firefox Download Count"&gt;
  &lt;template&gt;
    &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
      &lt;output method="text"/&gt;
      &lt;template match="/"&gt;
        &lt;value-of select="id('download-count')"/&gt;
        &lt;text&gt; Fx downloads&lt;/text&gt;
      &lt;/template&gt;
    &lt;/transform&gt;
  &lt;/template&gt;
  &lt;pages&gt;
    <b>&lt;include&gt;<span class="nowiki">http://(www.)?spreadfirefox.com/(index.php)?</span>&lt;/include&gt;</b>
  &lt;/pages&gt;
&lt;/generator&gt;
</pre>
<h2 id="Generators_.EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C_.ED.95.98.EA.B8.B0" name="Generators_.EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C_.ED.95.98.EA.B8.B0">Generators 다운로드 하기</h2>
<p>Generators가 적용된 Spread Firefox 홈 페이지에 적용할 수 있게 되었으므로 마지막 할일은 이것을 다운로드할 수 있도록 하는 것 뿐입니다.그러기 위해서 이것을 웹에 두어 어딘가의 페이지에 JavaScript의 링크를 작성할 필요가 있습니다.이 링크는 Generators 다운로드와 설치를 위한 Firefox의 <cite>window.sidebar.addMicrosummaryGenerator()</cite> 메소드를 호출 하도록 합니다.</p>
<p><br>
 예를 들면,Generators를 <a class="external" href="http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml에" rel="freelink">http://people.mozilla.com/~myk/micro...generator.xml에</a> 두고 <a class="external" href="http://people.mozilla.com/~myk/microsummaries/tutorial/index.html로" rel="freelink">http://people.mozilla.com/~myk/micro...al/index.html로</a> 부터 설치 하도록 하고 싶으면 다음과 같은 코드를 <cite>index.html</cite>에 추가합니다.</p>
<pre class="eval"><b>&lt;a href="javascript:window.sidebar.addMicrosummaryGenerator('<span class="nowiki">http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml</span>')"&gt;Install the Spread Firefox home page microsummary!&lt;/a&gt;</b>
</pre>
<p>Microsummary를 지원 하지 않는 웹 브라우저로 이 링크를 클릭하면 JavaScript의 에러가 발생합니다만 사용자 경험(experience)을 향상시키기 위해 Microsummary를 제공하는 브라우저를 사용하고 있을지를 조사하고 그렇지 않다면 설명을 표시해야 하겠지요.예를 들면 다음과 같은 코드입니다.</p>
<pre class="eval"><b>&lt;script&gt;</b>
<b>  const warning = "Sorry, you need a microsummary-enabled browser like Firefox 2.0 to install and use microsummary generators.";</b>
<b>  function addGenerator(url) {</b>
<b>    if (typeof window.sidebar == "object" &amp;&amp;</b>
<b>        typeof window.sidebar.addMicrosummaryGenerator == "function")</b>
<b>      window.sidebar.addMicrosummaryGenerator(url);</b>
<b>    else</b>
<b>     alert(warning);</b>
<b>  }</b>
<b>&lt;/script&gt;</b>
<b>&lt;a href="javascript:addGenerator('<span class="nowiki">http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml</span>')"&gt;Install the Spread Firefox home page microsummary!&lt;/a&gt;</b>
</pre>
<p>{{ Bug(341283) }}에 의해,<cite>addMicrosummaryGenerator()</cite>는 상대 URL을 받아들이지 않는 것에 주의해 주세요.</p>
<h2 id=".EB.A7.88.EC.B9.98.EB.A9.B0" name=".EB.A7.88.EC.B9.98.EB.A9.B0">마치며</h2>
<p>이것을 설치 하면 최신 Firefox 다운로드수를 표시하는 Microsummary Generator를 사용 할 수 있습니다. Spread Firefox 홈 페이지를 북마크하고, <cite>Add Bookmark</cite> 대화상자의 <cite>Summary</cite> 드롭 다운 메뉴로부터 Microsummary를 선택해 주세요.</p>
<p>Microsummary 에 관한 상세한 정보는 <a class="external" href="http://wiki.mozilla.org/Microsummaries">Microsummaries home page</a>를 참조해 주세요.</p>