Scribunto.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. <!DOCTYPE html>
  2. <html dir="ltr">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
  5. <title>Options/Scribunto - XOWA</title>
  6. <link rel="shortcut icon" href="https://gnosygnu.github.io/xowa/xowa_logo.png" />
  7. <link rel="stylesheet" href="https://gnosygnu.github.io/xowa/xowa_common.css" type="text/css">
  8. <style>
  9. .options_row_label {font-weight:bold; vertical-align:text-top; text-align:right; width:150px;}
  10. .options_table {border: 1px solid #AAAAAA; border-collapse: collapse; color: black; margin: 1em 0; background-color: #F9F9F9;}
  11. .options_table td {border: 1px solid #AAAAAA; padding: 0.2em;}
  12. .options_textbox {padding: 2px; border: 1px solid black;}
  13. .options_textbox_num {padding: 2px; border: 1px solid black; text-align:right;}
  14. .options_textarea {padding: 2px; border: 1px solid black;}
  15. .options_select {padding: 2px; border: 1px solid black;}
  16. .options_button {padding: 2px; border: 1px solid black; background: white; height: 22px; margin-left: 1px; vertical-align: top;}
  17. .options_checkbox {padding: 2px; border: 1px solid black;}
  18. .options_readonly {background-color:#F9F9F9;}
  19. </style>
  20. <style>
  21. .optionsButton
  22. {
  23. width: 100px;
  24. height: 40px;
  25. font-family: 'Segoe UI';
  26. font-size: 12px;
  27. margin-left: -5px;
  28. cursor: pointer;
  29. background-color: lightgray;
  30. text-align: center;
  31. }
  32. .optionsLink
  33. {
  34. color: black !important;
  35. text-decoration: none;
  36. }
  37. .optionsButton.active
  38. {
  39. width: 100px;
  40. height: 40px;
  41. font-family: 'Segoe UI';
  42. font-size: 12px;
  43. margin-left: -5px;
  44. cursor: pointer;
  45. background-color: dimgray;
  46. color: white !important;
  47. border: solid 1px dimgray;
  48. }
  49. .optionsButton.active a
  50. {
  51. color: white !important;
  52. }
  53. .tabs
  54. {
  55. width: 100%;
  56. margin-top: 10px;
  57. }
  58. .tab-links ul
  59. {
  60. margin-left: -40px;
  61. }
  62. .tab-links li
  63. {
  64. margin: 0px 0px 0px 0px;
  65. float: left;
  66. list-style: none;
  67. }
  68. .tab-links a
  69. {
  70. padding: 9px 15px 9px 15px;
  71. border-radius: 3px 3px 0px 0px;
  72. background: #f0f0f0;
  73. font-family: 'Segoe UI';
  74. font-size: 13px;
  75. color: black !important;
  76. text-decoration: none;
  77. border-radius: 3px;
  78. border-top: solid 1px gray;
  79. border-left: solid 1px gray;
  80. border-right: solid 1px gray;
  81. }
  82. .tab-links a:hover
  83. {
  84. background: #B0B0B0;
  85. text-decoration: none;
  86. }
  87. li.active a, li.active a:hover
  88. {
  89. background: #fff;
  90. color: #4c4c4c;
  91. font-weight: bold;
  92. }
  93. .tab-content
  94. {
  95. padding: 15px;
  96. border-radius: 3px;
  97. background: #fff;
  98. border-top: solid 1px gray;
  99. margin-top: 5px;
  100. min-height: 300px;
  101. }
  102. </style>
  103. <style>
  104. .options_row_label {font-weight:bold; vertical-align:text-top; text-align:right; width:150px;}
  105. .options_table {border: 1px solid #AAAAAA; border-collapse: collapse; color: black; margin: 1em 0; background-color: #F9F9F9;}
  106. .options_table td {border: 1px solid #AAAAAA; padding: 0.2em;}
  107. .options_textbox {padding: 2px; border: 1px solid black;}
  108. .options_textbox_num {padding: 2px; border: 1px solid black; text-align:right;}
  109. .options_textarea {padding: 2px; border: 1px solid black;}
  110. .options_select {padding: 2px; border: 1px solid black;}
  111. .options_button {padding: 2px; border: 1px solid black; background: white; height: 22px; margin-left: 1px; vertical-align: top;}
  112. .options_checkbox {padding: 2px; border: 1px solid black;}
  113. .options_readonly {background-color:#F9F9F9;}
  114. </style>
  115. <style>
  116. .optionsButton
  117. {
  118. width: 100px;
  119. height: 40px;
  120. font-family: 'Segoe UI';
  121. font-size: 12px;
  122. margin-left: -5px;
  123. cursor: pointer;
  124. background-color: lightgray;
  125. text-align: center;
  126. }
  127. .optionsLink
  128. {
  129. color: black !important;
  130. text-decoration: none;
  131. }
  132. .optionsButton.active
  133. {
  134. width: 100px;
  135. height: 40px;
  136. font-family: 'Segoe UI';
  137. font-size: 12px;
  138. margin-left: -5px;
  139. cursor: pointer;
  140. background-color: dimgray;
  141. color: white !important;
  142. border: solid 1px dimgray;
  143. }
  144. .optionsButton.active a
  145. {
  146. color: white !important;
  147. }
  148. .tabs
  149. {
  150. width: 100%;
  151. margin-top: 10px;
  152. }
  153. .tab-links ul
  154. {
  155. margin-left: -40px;
  156. }
  157. .tab-links li
  158. {
  159. margin: 0px 0px 0px 0px;
  160. float: left;
  161. list-style: none;
  162. }
  163. .tab-links a
  164. {
  165. padding: 9px 15px 9px 15px;
  166. border-radius: 3px 3px 0px 0px;
  167. background: #f0f0f0;
  168. font-family: 'Segoe UI';
  169. font-size: 13px;
  170. color: black !important;
  171. text-decoration: none;
  172. border-radius: 3px;
  173. border-top: solid 1px gray;
  174. border-left: solid 1px gray;
  175. border-right: solid 1px gray;
  176. }
  177. .tab-links a:hover
  178. {
  179. background: #B0B0B0;
  180. text-decoration: none;
  181. }
  182. li.active a, li.active a:hover
  183. {
  184. background: #fff;
  185. color: #4c4c4c;
  186. font-weight: bold;
  187. }
  188. .tab-content
  189. {
  190. padding: 15px;
  191. border-radius: 3px;
  192. background: #fff;
  193. border-top: solid 1px gray;
  194. margin-top: 5px;
  195. min-height: 300px;
  196. }
  197. </style>
  198. </head>
  199. <body class="mediawiki ltr sitedir-ltr ns-0 ns-subject skin-vector action-submit vector-animateLayout" spellcheck="false">
  200. <div id="mw-page-base" class="noprint"></div>
  201. <div id="mw-head-base" class="noprint"></div>
  202. <div id="content" class="mw-body">
  203. <h1 id="firstHeading" class="firstHeading"><span>Options/Scribunto</span></h1>
  204. <div id="bodyContent" class="mw-body-content">
  205. <div id="siteSub">From XOWA: the free, open-source, offline wiki application</div>
  206. <div id="contentSub"></div>
  207. <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr">
  208. <div>
  209. <table>
  210. <tr>
  211. <td class='optionsButton'>
  212. <a class='optionsLink' href='/wiki/Options/Window'>Apps (basic)</a>
  213. </td>
  214. <td class='optionsButton'>
  215. <a class='optionsLink' href='/wiki/Options/Security'>Apps (advanced)</a>
  216. </td>
  217. <td class='optionsButton'>
  218. <a class='optionsLink' href='/wiki/Options/Import'>Wiki</a>
  219. </td>
  220. <td class='optionsButton'>
  221. <a class='optionsLink' href='/wiki/Options/HTML'>HTML</a>
  222. </td>
  223. <td class='optionsButton'>
  224. <a class='optionsLink' href='/wiki/Options/Content_apps'>External apps</a>
  225. </td>
  226. <td class='optionsButton'>
  227. <a class='optionsLink' href='/wiki/Options/Search_suggest'>Modules</a>
  228. </td>
  229. <td class='optionsButton active'>
  230. <a class='optionsLink' href='/wiki/Options/Math'>Extensions</a>
  231. </td>
  232. <td class='optionsButton'>
  233. <a class='optionsLink' href='/wiki/Options/Dev'>Misc</a>
  234. </td>
  235. </tr>
  236. </table>
  237. </div>
  238. <div class="tabs">
  239. <div>
  240. <ul class='tab-links' style='margin-left:0px;'>
  241. <li class=''>
  242. <a href='/wiki/Options/Math'>Math</a>
  243. </li>
  244. <li class='active'>
  245. <a href='/wiki/Options/Scribunto'>Scribunto</a>
  246. </li>
  247. <li class=''>
  248. <a href='/wiki/Options/Score'>Score</a>
  249. </li>
  250. <li class=''>
  251. <a href='/wiki/Options/Wikibase'>Wikibase</a>
  252. </li>
  253. </ul>
  254. </div><br>
  255. <div class='tab-content'>
  256. <div id="toc" class="toc">
  257. <div id="toctitle">
  258. <h2>
  259. Contents
  260. </h2>
  261. </div>
  262. <ul>
  263. <li class="toclevel-1 tocsection-1">
  264. <a href="#General"><span class="tocnumber">1</span> <span class="toctext">General</span></a>
  265. </li>
  266. <li class="toclevel-1 tocsection-2">
  267. <a href="#Lua_options"><span class="tocnumber">2</span> <span class="toctext">Lua options</span></a>
  268. </li>
  269. <li class="toclevel-1 tocsection-3">
  270. <a href="#Notes"><span class="tocnumber">3</span> <span class="toctext">Notes</span></a>
  271. </li>
  272. </ul>
  273. </div>
  274. <div style='float:right; margin-right:10px; margin-top:5px;'>
  275. <p>
  276. <a href="xowa-cmd:app.user.prefs.save();" accesskey='s'><img src='file:///C:/xowa/bin/any/xowa/file/app.window/save.png' width="16" height="16">Save</a>
  277. </p>
  278. </div><br>
  279. <h2>
  280. <span class="mw-headline" id="General">General</span>
  281. </h2>
  282. <table class='options_table'>
  283. <tr>
  284. <td class='options_row_label'>
  285. Enabled: <sup id="cite_ref-enabled_0-0" class="reference"><a href="#cite_note-enabled-0">[1]</a></sup>
  286. </td>
  287. <td>
  288. <input xowa_prop="app.xtns.get('scribunto').enabled" type="checkbox" class='options_checkbox' id='xowa_prop_0' checked='checked'>
  289. </td>
  290. </tr>
  291. <tr>
  292. <td class='options_row_label'>
  293. Lua engine: <sup id="cite_ref-engine_type_1-0" class="reference"><a href="#cite_note-engine_type-1">[2]</a></sup>
  294. </td>
  295. <td>
  296. <select xowa_prop="app.xtns.get('scribunto').engine_type" xowa_prop_list="app.xtns.get('scribunto').engine_type_list" class="options_textbox" size='2' id='xowa_prop_1'>
  297. <option value='luaj' selected='selected'>
  298. luaj
  299. </option>
  300. <option value='lua'>
  301. lua
  302. </option>
  303. </select>
  304. </td>
  305. </tr>
  306. </table>
  307. <h2>
  308. <span class="mw-headline" id="Lua_options">Lua options</span>
  309. </h2>
  310. <table class='options_table'>
  311. <tr>
  312. <td class='options_row_label'>
  313. Lua path: <sup id="cite_ref-lua_path_2-0" class="reference"><a href="#cite_note-lua_path-2">[3]</a></sup>
  314. </td>
  315. <td>
  316. <input xowa_prop="app.fsys.apps.lua.cmd" class="options_textbox" style="width: 380px;" type='xowa_io' id='xowa_prop_2' value='C:\xowa\bin\windows_64\lua\lua5.1.exe'><button id='xowa_prop_2_io' class='options_button' onclick='xowa_io_select("file", "xowa_prop_2", "Please select a file.");'>...</button>
  317. </td>
  318. </tr>
  319. <tr>
  320. <td colspan="2" style='text-align:center;'>
  321. <b>The options below are for developer usage only.</b>
  322. </td>
  323. </tr>
  324. <tr>
  325. <td class='options_row_label'>
  326. Lua log enabled: <sup id="cite_ref-lua_log_enabled_3-0" class="reference"><a href="#cite_note-lua_log_enabled-3">[4]</a></sup>
  327. </td>
  328. <td>
  329. <input xowa_prop="app.xtns.get('scribunto').lua_log_enabled" type="checkbox" class='options_checkbox' id='xowa_prop_3'>
  330. </td>
  331. </tr>
  332. <tr>
  333. <td class='options_row_label'>
  334. Lua timeout: <sup id="cite_ref-lua_timeout_4-0" class="reference"><a href="#cite_note-lua_timeout-4">[5]</a></sup>
  335. </td>
  336. <td>
  337. <input xowa_prop="app.xtns.get('scribunto').lua_timeout" class="options_textbox" style="width: 120px;" id='xowa_prop_4' value='4000'>
  338. </td>
  339. </tr>
  340. <tr>
  341. <td class='options_row_label'>
  342. Lua timeout polling: <sup id="cite_ref-lua_timeout_polling_5-0" class="reference"><a href="#cite_note-lua_timeout_polling-5">[6]</a></sup>
  343. </td>
  344. <td>
  345. <input xowa_prop="app.xtns.get('scribunto').lua_timeout_polling" class="options_textbox" style="width: 120px;" id='xowa_prop_5' value='1'>
  346. </td>
  347. </tr>
  348. <tr>
  349. <td class='options_row_label'>
  350. Lua timeout busy wait: <sup id="cite_ref-lua_timeout_busy_wait_6-0" class="reference"><a href="#cite_note-lua_timeout_busy_wait-6">[7]</a></sup>
  351. </td>
  352. <td>
  353. <input xowa_prop="app.xtns.get('scribunto').lua_timeout_busy_wait" class="options_textbox" style="width: 120px;" id='xowa_prop_6' value='250'>
  354. </td>
  355. </tr>
  356. </table>
  357. <h2>
  358. <span class="mw-headline" id="Notes">Notes</span>
  359. </h2>
  360. <ol class="references">
  361. <li id="cite_note-enabled-0">
  362. <span class="mw-cite-backlink"><a href="#cite_ref-enabled_0-0">^</a></span> <span class="reference-text">Handles {{#invoke:Module:Module_name|Function_name|Arguments}} (default is <code>checked</code>)</span>
  363. <ul>
  364. <li>
  365. <span class="reference-text"><b>checked</b> to process #invoke statements</span>
  366. </li>
  367. <li>
  368. <span class="reference-text"><b>unchecked</b> to render #invoke as text only</span>
  369. </li>
  370. </ul>
  371. </li>
  372. <li id="cite_note-engine_type-1">
  373. <span class="mw-cite-backlink"><a href="#cite_ref-engine_type_1-0">^</a></span> <span class="reference-text">Select lua engine. See <a href="http://xowa.org/wiki/home/page/App/Xtn/Mediawiki/Scribunto/Overview.html#Engines" id="xolnki_2" title="App/Xtn/Mediawiki/Scribunto/Overview">App/Xtn/Mediawiki/Scribunto/Overview#Engines</a> (default is <code>luaj</code>)</span>
  374. <ul>
  375. <li>
  376. <span class="reference-text"><b>luaj</b>: lua code will be processed through the <a href="http://luaj.org/luaj/README.html" rel="nofollow" class="external text">luaj</a> jar at /bin/any/java/luaj/.</span>
  377. </li>
  378. <li>
  379. <span class="reference-text"><b>lua</b> : lua code will be processed through the <a href="http://lua.org/about" rel="nofollow" class="external text">lua</a> binary at /bin/os_name/lua/.</span>
  380. </li>
  381. </ul><span class="reference-text"><b>Note for Lua engine users:</b></span>
  382. <ul>
  383. <li>
  384. <span class="reference-text"><b>executable permissions</b>: Linux / Mac OS X users may need to grant execute permission to the Lua binary. To ensure proper setup, please do the following:</span>
  385. <ul>
  386. <li>
  387. <span class="reference-text">Open <a href="http://xowa.org/wiki/home/page/Diagnostics/Scribunto/All.html" id="xolnki_3" title="Diagnostics/Scribunto/All" class="xowa-visited">Diagnostics/Scribunto/All</a></span>
  388. </li>
  389. <li>
  390. <span class="reference-text">If the page fails, then see <a href="http://xowa.org/wiki/home/page/App/Xtn/Mediawiki/Scribunto.html#Permissions" id="xolnki_4" title="App/Xtn/Mediawiki/Scribunto">App/Xtn/Mediawiki/Scribunto#Permissions</a></span>
  391. </li>
  392. </ul>
  393. </li>
  394. <li>
  395. <span class="reference-text"><b>NTFS partitions</b>: Linux users with NTFS partitions will need to run a command like the following:</span>
  396. </li>
  397. </ul>
  398. <dl>
  399. <dd>
  400. <span class="reference-text"><code>sudo mount -t ntfs -o rw,auto,user,fmask=0022,dmask=0000 /dev/whatever /mnt/whatever</code></span>
  401. </dd>
  402. <dd>
  403. <span class="reference-text">See <a href="http://askubuntu.com/questions/11840/how-do-i-use-chmod-on-an-ntfs-or-fat32-partition" rel="nofollow" class="external free">http://askubuntu.com/questions/11840/how-do-i-use-chmod-on-an-ntfs-or-fat32-partition</a> (Thanks to Anselm)</span>
  404. </dd>
  405. </dl>
  406. </li>
  407. <li id="cite_note-lua_path-2">
  408. <span class="mw-cite-backlink"><a href="#cite_ref-lua_path_2-0">^</a></span> <span class="reference-text">Path to Lua binary. Only applies to the <code>lua</code>engine.</span>
  409. </li>
  410. <li id="cite_note-lua_log_enabled-3">
  411. <span class="mw-cite-backlink"><a href="#cite_ref-lua_log_enabled_3-0">^</a></span> <span class="reference-text">Choose one of the following (default is <code>unchecked</code>)</span>
  412. <ul>
  413. <li>
  414. <span class="reference-text"><b>checked</b> to output Lua send / recv statements to a log file (/xowa/user/anonymous/app/tmp/log)</span>
  415. </li>
  416. <li>
  417. <span class="reference-text"><b>unchecked</b> to output nothing</span>
  418. </li>
  419. </ul>
  420. </li>
  421. <li id="cite_note-lua_timeout-4">
  422. <span class="mw-cite-backlink"><a href="#cite_ref-lua_timeout_4-0">^</a></span> <span class="reference-text"># of milliseconds before canceling Lua call (default is <code>4000</code>)</span>
  423. </li>
  424. <li id="cite_note-lua_timeout_polling-5">
  425. <span class="mw-cite-backlink"><a href="#cite_ref-lua_timeout_polling_5-0">^</a></span> <span class="reference-text"># of milliseconds before checking for timeout. (default is <code>1</code>) For example, with a timeout of 4000:</span>
  426. <dl>
  427. <dd>
  428. <span class="reference-text">A timeout polling of 1 will check roughly 4000 times before timing out.</span>
  429. </dd>
  430. <dd>
  431. <span class="reference-text">A timeout polling of 1000 will check roughly 4 times before timing out.</span>
  432. </dd>
  433. </dl><span class="reference-text">This setting should be left at 1. It is meant to "tweak" certain outlier situations should they arise.</span>
  434. </li>
  435. <li id="cite_note-lua_timeout_busy_wait-6">
  436. <span class="mw-cite-backlink"><a href="#cite_ref-lua_timeout_busy_wait_6-0">^</a></span> <span class="reference-text"># of milliseconds before entering timeout poll (default is <code>250</code>) This setting should be left at 250 (or higher). It is also meant to "tweak" certain outlier situations.<br>
  437. Background:</span>
  438. <ul>
  439. <li>
  440. <span class="reference-text">On Windows, a sleep call can take 15 ms. This could potentially cause each Lua call to take 15 ms.</span>
  441. </li>
  442. <li>
  443. <span class="reference-text">Some pages / templates will call Lua hundreds of times. (For example: the Weather Box on <a href="http://en.wikipedia.org/wiki/Aruba" rel="nofollow" class="external free">http://en.wikipedia.org/wiki/Aruba</a> or the Citations on <a href="http://en.wikipedia.org/wiki/Earth" rel="nofollow" class="external free">http://en.wikipedia.org/wiki/Earth</a> )</span>
  444. </li>
  445. <li>
  446. <span class="reference-text">The busy wait is a primitive way to limit a wait to 1 ms (or less) before entering a more expensive sleep</span>
  447. </li>
  448. <li>
  449. <span class="reference-text">A higher timeout busy wait value is more performant, but the disadvantage is that the UI will be locked up for longer</span>
  450. </li>
  451. </ul>
  452. <dl>
  453. <dd>
  454. <span class="reference-text">For example, a busy wait of 250 means that the code will loop for 250 milliseconds before entering a sleep.</span>
  455. </dd>
  456. <dd>
  457. <span class="reference-text">For sub-second values, this freezing will be unnoticeable</span>
  458. </dd>
  459. </dl><span class="reference-text">For reference, here is the corresponding code</span>
  460. <pre style="overflow:auto;">
  461. <span class="reference-text">long time_bgn = System.currentTimeMillis();
  462. long time_woke = time_bgn;
  463. while (true) {
  464. byte[] rv = stream_read.Data();
  465. if (rv != null) return rv;
  466. long time_now = System.currentTimeMillis();
  467. if (time_now &gt; time_woke + server_timeout_busy_wait) {
  468. if (time_now &gt; time_bgn + server_timeout) throw Xoa_xtn_scribunto.err_("lua_timeout: timeout={0} cmd={1}", server_timeout, String_.new_utf8_(cmd_last));
  469. ThreadAdp_.Sleep(server_timeout_polling);
  470. time_woke = System.currentTimeMillis();
  471. }
  472. }
  473. </span>
  474. </pre>
  475. </li>
  476. </ol>
  477. </div>
  478. </div>
  479. </div>
  480. </div>
  481. </div>
  482. <div id="mw-head" class="noprint">
  483. <div id="left-navigation">
  484. <div id="p-namespaces" class="vectorTabs">
  485. <h3>Namespaces</h3>
  486. <ul>
  487. <li id="ca-nstab-main" class="selected"><span><a id="ca-nstab-main-href" href="index.html">Page</a></span></li>
  488. </ul>
  489. </div>
  490. </div>
  491. </div>
  492. <div id='mw-panel' class='noprint'>
  493. <div id='p-logo'>
  494. <a style="background-image: url(https://gnosygnu.github.io/xowa/xowa_logo.png);" href="http://xowa.org/" title="Visit the main page"></a>
  495. </div>
  496. <div class="portal" id='xowa-portal-home'>
  497. <h3>XOWA</h3>
  498. <div class="body">
  499. <ul>
  500. <li><a href="http://xowa.org/index.html" title='Visit the main page'>Main page</a></li>
  501. <li><a href="http://xowa.org/screenshots.html" title='See screenshots of XOWA'>Screenshots</a></li>
  502. <li><a href="http://xowa.org/wiki/home/page/Help/Download_XOWA.html" title='Download the XOWA application'>Download XOWA</a></li>
  503. <li><a href="http://xowa.org/wiki/home/page/Dashboard/Image_databases.html" title='Download offline wikis and image databases'>Download wikis</a></li>
  504. </ul>
  505. </div>
  506. </div>
  507. <div class="portal" id='xowa-portal-stargin'>
  508. <h3>Getting started</h3>
  509. <div class="body">
  510. <ul>
  511. <li><a href="http://xowa.org/wiki/home/page/App/Setup/System_requirements.html" title='Get XOWA&apos;s system requirements'>Requirements</a></li>
  512. <li><a href="http://xowa.org/wiki/home/page/App/Setup/Installation.html" title='Get instructions for installing XOWA'>Installation</a></li>
  513. <li><a href="http://xowa.org/wiki/home/page/App/Import/Simple_Wikipedia.html" title='Learn how to set up Simple Wikipedia'>Simple Wikipedia</a></li>
  514. <li><a href="http://xowa.org/wiki/home/page/App/Import/English_Wikipedia.html" title='Learn how to set up English Wikipedia'>English Wikipedia</a></li>
  515. <li><a href="http://xowa.org/wiki/home/page/App/Import/Other_wikis.html" title='Learn how to set up other Wikipedias'>Other Wikipedias</a></li>
  516. </ul>
  517. </div>
  518. </div>
  519. <div class="portal" id='xowa-portal-help'>
  520. <h3>Help</h3>
  521. <div class="body">
  522. <ul>
  523. <li><a href="http://xowa.org/wiki/home/page/Help/About.html" title='Get more information about XOWA'>About</a></li>
  524. <li><a href="http://xowa.org/wiki/home/page/Help/Contents.html" title='View a list of help topics'>Contents</a></li>
  525. <li><a href="http://xowa.org/wiki/home/page/Help/Media.html" title='Read what others have written about XOWA'>Media</a></li>
  526. <li><a href="http://xowa.org/wiki/home/page/Help/Feedback.html" title='Questions? Comments? Leave feedback for XOWA'>Feedback</a></li>
  527. </ul>
  528. </div>
  529. </div>
  530. <div class="portal" id='xowa-portal-blog'>
  531. <h3>Blog</h3>
  532. <div class="body">
  533. <ul>
  534. <li><a href="http://xowa.org/wiki/home/page/Blog.html" title='Follow XOWA''s development process'>Current</a></li>
  535. </ul>
  536. </div>
  537. </div>
  538. <div class="portal" id='xowa-portal-links'>
  539. <h3>Links</h3>
  540. <div class="body">
  541. <ul>
  542. <li><a href="http://dumps.wikimedia.org/backup-index.html" title="Get wiki datababase dumps directly from Wikimedia">Wikimedia dumps</a></li>
  543. <li><a href="https://archive.org/search.php?query=xowa" title="Search archive.org for XOWA files">XOWA @ archive.org</a></li>
  544. <li><a href="http://en.wikipedia.org" title="Visit Wikipedia (and compare to XOWA!)">English Wikipedia</a></li>
  545. </ul>
  546. </div>
  547. </div>
  548. <div class="portal" id='xowa-portal-donate'>
  549. <h3>Donate</h3>
  550. <div class="body">
  551. <ul>
  552. <li><a href="https://archive.org/donate/index.php" title="Support archive.org!">archive.org</a></li><!-- listed first due to recent fire damages: http://blog.archive.org/2013/11/06/scanning-center-fire-please-help-rebuild/ -->
  553. <li><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector" title="Support Wikipedia!">Wikipedia</a></li>
  554. <!-- <li><a href="" title="Support XOWA! (but only after you've supported archive.org and Wikipedia)">XOWA</a></li> -->
  555. </ul>
  556. </div>
  557. </div>
  558. </div>
  559. </body>
  560. </html>