Lilina is at 4.0.0.
[htmlpurifier-web.git] / download.xhtml
blob1b6f9beec374ff03da382b887392f8469a55e948
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [
4 <!ENTITY % htmlpurifier.current SYSTEM "current.ent"> %htmlpurifier.current;
5 ]>
6 <html
7 xmlns="http://www.w3.org/1999/xhtml"
8 xmlns:xi="http://www.w3.org/2001/XInclude"
9 xml:lang="en">
10 <head>
11 <title>Download - HTML Purifier</title>
12 <xi:include href="common-meta.xml" xpointer="xpointer(/*/node())" />
13 <meta name="description" content="Download HTML Purifier, the standards-compliant HTML filter library." />
14 <meta name="keywords" content="HTMLPurifier, HTML Purifier, HTML, filter, filtering, standards, compliant, w3c, download, zip, tarball, tgz, sig, gpg, gnupg, sha1, hash, checksum" />
15 </head>
16 <body>
18 <xi:include href="common-header.xml" xpointer="xpointer(/*/node())" />
20 <div id="main">
21 <h1 id="title">Download</h1>
23 <div id="content">
25 <p>
26 The current version of HTML Purifier is
27 <strong>&htmlpurifier.current.version;</strong>, released on
28 &htmlpurifier.current.release-date;, and is compatible with
29 <abbr>PHP</abbr> 5.0.5 and up (all code is <code>E_STRICT</code>
30 compliant). This library is open-source,
31 licensed under the <a href="http://www.gnu.org/licenses/lgpl.html"><abbr>LGPL</abbr>
32 v2.1+</a>. We offer multiple ways of downloading
33 and installing HTML Purifier.
34 </p>
36 <div id="toc" class="floated" />
38 <!--
39 <h2 id="Errata">Errata</h2>
41 <p>
42 Here is a list of known bugs. These issues have all been fixed in the
43 <a href="#NightlyBuilds">trunk</a> unless
44 otherwise noted:
45 </p>
47 <ul>
48 </ul>
49 -->
51 <h2 id="Standard">Standard</h2>
53 <p>
54 We offer the standard zip and tarball downloads. Download them,
55 unzip them, and with a few simple <a href="#Installation">installation</a> steps get
56 to using HTML Purifier right away:
57 </p>
59 <ul>
60 <li><a class="download" href="&url.dl;.tar.gz">HTML Purifier &htmlpurifier.current.version; (.tar.gz)</a> [<a href="&url.dl;.tar.gz.sig">sig</a>]</li>
61 <li><a class="download" href="&url.dl;.zip" >HTML Purifier &htmlpurifier.current.version; (.zip)</a> [<a href="&url.dl;.zip.sig">sig</a>]</li>
62 </ul>
64 <h3 id="Lite">Lite Distribution</h3>
66 <p>
67 No, it's not magically faster. HTML Purifier Lite offers the same
68 functionality of HTML Purifier (standard), except that anything not
69 essentially to the basic functioning of the library has been stripped
70 out: end-user documentation, unit-tests, profiling, maintenance scripts, etc.
71 Just the <code>library</code> folder.
72 </p>
74 <ul>
75 <li><a class="download" href="&url.dl;-lite.tar.gz">HTML Purifier &htmlpurifier.current.version; Lite (.tar.gz)</a> [<a href="&url.dl;-lite.tar.gz.sig">sig</a>]</li>
76 <li><a class="download" href="&url.dl;-lite.zip" >HTML Purifier &htmlpurifier.current.version; Lite (.zip)</a> [<a href="&url.dl;-lite.zip.sig">sig</a>]</li>
77 </ul>
79 <h3 id="Standalone">Standalone Distribution</h3>
81 <p>
82 For those of you who balk at the possibility of a 100+ includes, we also
83 offer a conveniently packaged single-file version of HTML Purifier. Well,
84 not really, since HTML Purifier does require some auxiliary files in
85 order to work (but they are neatly tucked away in a folder named
86 <code>standalone</code>). Include <code>HTMLPurifier.standalone.php</code>
87 and be done with it!
88 </p>
90 <ul>
91 <li><a class="download" href="&url.dl;-standalone.tar.gz">HTML Purifier &htmlpurifier.current.version; Standalone (.tar.gz)</a> [<a href="&url.dl;-standalone.tar.gz.sig">sig</a>]</li>
92 <li><a class="download" href="&url.dl;-standalone.zip" >HTML Purifier &htmlpurifier.current.version; Standalone (.zip)</a> [<a href="&url.dl;-standalone.zip.sig">sig</a>]</li>
93 </ul>
95 <h3 id="SHA1"><acronym>SHA-1</acronym> checksums</h3>
97 <p>
98 Here are the <acronym>SHA-1</acronym> checksums you can use to
99 verify the integrity of your HTML Purifier download:
100 </p>
102 <pre class="long">&htmlpurifier.current.hashes;</pre>
104 <h3 id="GnuPG">GnuPG signatures</h3>
107 There are <tt>.sig</tt> files which you can use to cryptographically verify
108 that the release is from me, Edward Z. Yang. You can find
109 my <a href="http://www.thewritingpot.com/gpgpubkey.asc">public key
110 here (0x869C48DA)</a>. My key's fingerprint is:
111 <tt>3FA8 E9A9 7385 B691 A6FC B3CB A933 BE7D 869C 48DA</tt>.
112 </p>
114 <p>Verify files with this command:</p>
116 <pre class="command">gpg --verify <strong>$filename</strong>.sig</pre>
118 <h2 id="PEAR"><acronym>PEAR</acronym></h2>
121 HTML Purifier is also available via a <acronym>PEAR</acronym> channel.
122 The <acronym>PEAR</acronym> installer is an incredibly powerful and robust
123 way to install <abbr>PHP</abbr> packages, and
124 does not have to be limited to packages found on
125 <a href="http://pear.php.net/">pear.php.net</a>. With
126 <acronym>PEAR</acronym>, installing is as simple as these
127 two commands in your shell:
128 </p>
130 <pre class="command">pear channel-discover htmlpurifier.org
131 pear install hp/HTMLPurifier</pre>
134 ...and then following the <a href="#Installation">installation instructions</a>.
135 </p>
138 You can upgrade with:
139 </p>
141 <pre class="command">pear upgrade hp/HTMLPurifier</pre>
143 <h2 id="Git">Git</h2>
146 For those who like to live on the edge, you can also grab the latest
147 developmental code from our Git
148 repository. Simply execute this command in your shell:
149 </p>
151 <pre class="command">git clone git://repo.or.cz/htmlpurifier.git</pre>
154 You must have Git installed. Windows users can grab a copy of Git via the
155 <a href="http://code.google.com/p/msysgit/">msysgit project</a>.
156 </p>
159 Code in master is quite stable;
160 a combination of extensive unit-testing and atomic commits means that
161 the most recent version will almost never be broken.
162 </p>
165 Online repository browsing and mirroring services (click links to get
166 pull URLs) are available at numerous places:
167 </p>
169 <ul>
170 <li><strong><a href="http://repo.or.cz/w/htmlpurifier.git">repo.or.cz</a></strong> -
171 Master repository: prefer pulling from it, always push to it. Make this your
172 <code>origin</code> remote if it isn't already.
173 <a href="http://repo.or.cz/m/regproj.cgi?name=htmlpurifier/">Allows forks</a>,
174 please use them!</li>
175 <li><a href="http://gitorious.org/projects/htmlpurifier">Gitorious</a> -
176 Regular old mirror. Allows forks, but don't use them.</li>
177 <li><a href="http://github.com/ezyang/htmlpurifier/tree/master">GitHub</a> -
178 Regular old mirror, but with <a href="http://github.com/ezyang/htmlpurifier/network">pretty
179 history visualization tools</a>. Allows forks, but don't use them.</li>
180 <li><a href="http://git.htmlpurifier.org">git.htmlpurifier.org</a> -
181 Dumb HTTP mirror with no web interface, use as last resort.</li>
182 </ul>
184 <h2 id="Installation">Installation</h2>
186 <h3>File permissions</h3>
189 HTML Purifier will write
190 out cache files for HTMLDefinition in the subdirectories of
191 <code>HTMLPurifier/DefinitionCache/Serializer</code>. If you are in
192 the <code>library/</code> folder of HTML Purifier, you can set the
193 appropriate permissions using:
194 </p>
196 <pre class="command">chmod -R 0755 HTMLPurifier/DefinitionCache/Serializer</pre>
199 If the above command doesn't work, you may need to assign write permissions
200 to all. This may be necessary if your webserver runs as nobody, but is
201 not recommended since it means any other user can write files in the
202 directory. Use:
203 </p>
205 <pre class="command">chmod -R 0777 HTMLPurifier/DefinitionCache/Serializer</pre>
208 You can also chmod files via your <abbr>FTP</abbr> client; this option
209 is usually accessible by right clicking the corresponding directory and
210 then selecting <q>chmod</q> or <q>file permissions</q>.
211 </p>
214 If you are unable or unwilling to give write permissions to the cache
215 directory, you can either disable the cache (and suffer a performance
216 hit):
217 </p>
219 <pre>$config-&gt;set('Core', 'DefinitionCache', null);</pre>
222 Or move the cache directory somewhere else (no trailing slash):
223 </p>
225 <pre>$config-&gt;set('Cache', 'SerializerPath', '/home/user/absolute/path');</pre>
227 <h3>Quick install</h3>
229 <p>If your website is in UTF-8 and XHTML Transitional, use this code:</p>
231 <pre>&lt;?php
232 require_once '/path/to/htmlpurifier/library/HTMLPurifier.auto.php';
234 $purifier = new HTMLPurifier();
235 $clean_html = $purifier-&gt;purify($dirty_html);
236 ?&gt;</pre>
238 <p>If your website is in a different encoding or doctype, use this code:</p>
240 <pre>&lt;?php
241 require_once '/path/to/htmlpurifier/library/HTMLPurifier.auto.php';
243 $config = HTMLPurifier_Config::createDefault();
244 $config-&gt;set('Core', 'Encoding', <strong>'ISO-8859-1'</strong>); // replace with your encoding
245 $config-&gt;set('HTML', 'Doctype', <strong>'HTML 4.01 Transitional'</strong>); // replace with your doctype
246 $purifier = new HTMLPurifier($config);
248 $clean_html = $purifier-&gt;purify($dirty_html);
249 ?&gt;</pre>
252 People with HTML Purifier already in their path (<acronym>PEAR</acronym>,
253 for example) can use:
254 </p>
256 <pre>require_once 'HTMLPurifier.auto.php';</pre>
259 For detailed installation instructions, read the
260 <a href="http://repo.or.cz/w/htmlpurifier.git?a=blob;f=INSTALL;hb=v&htmlpurifier.current.version;"><code>INSTALL</code></a>
261 document.
262 </p>
264 <h2 id="MailingList">Mailing list</h2>
267 You can be notified of new releases by a low-traffic announce list. Subscribe
268 here:
269 </p>
271 <form method="post" action="http://scripts.dreamhost.com/add_list.cgi">
272 <div>
273 <label for="name">Name</label>: <input type="text" name="name" id="name" />
274 <label for="email">E-mail</label>: <input type="text" name="email" id="email" />
275 </div>
276 <div>
277 <input type="submit" name="submit" value="Suscribe to Announcement List" />
278 <input type="submit" name="unsub" value="Unsubscribe" />
279 </div>
280 <input type="hidden" name="list" value="admin@htmlpurifier.org" />
281 <input type="hidden" name="domain" value="htmlpurifier.org" />
282 <input type="hidden" name="emailit" value="1" />
283 </form>
286 We take your privacy very seriously and will not use emails submitted
287 to this web form for any other purposes.
288 </p>
290 <h2 id="History">History</h2>
293 Previous releases can be obtained by browsing
294 the <a href="releases/">release directory</a>
295 or checking code out of the
296 <a href="http://htmlpurifier.org/svnroot/htmlpurifier/tags/">tags/
297 directory</a>. However, they are not supported and should not be used
298 in live environments. If you are having trouble upgrading, pop over
299 to <a href="http://htmlpurifier.org/phorum/">the forums</a> and get help.
300 </p>
302 </div>
303 </div>
305 </body>
306 </html>