prerequisites.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <title>UI Development Prerequisites :: jMonkeyEngine Docs</title>
  7. <link rel="canonical" href="https://wiki.jmonkeyengine.org/wiki-ui/prerequisites.html">
  8. <link rel="prev" href="index.html">
  9. <link rel="next" href="set-up-project.html">
  10. <meta name="generator" content="Antora 3.0.1">
  11. <link rel="stylesheet" href="../_/css/site.css">
  12. <meta property="og:image" content="https://wiki.jmonkeyengine.org/_/img/iconx128.png">
  13. <meta property="og:description" content="UI Development Prerequisites">
  14. <meta property="og:title" content="jMonkeyEngine Docs">
  15. <link rel="stylesheet" href="../_/css/site-extra.css">
  16. <link rel="stylesheet" href="../_/css/vendor/docsearch.min.css">
  17. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css -->
  18. <link rel="icon" href="../_/img/favicon.ico" type="image/x-icon">
  19. </head>
  20. <body class="article">
  21. <header class="header">
  22. <nav class="navbar">
  23. <div class="navbar-brand">
  24. <a class="navbar-item" href="https://wiki.jmonkeyengine.org">
  25. <img alt="" src="../_/img/jme-logo.png" height="32" type="image/x-icon">
  26. </a>
  27. <div class="navbar-item hide-for-print">
  28. <input id="search-input" type="text" placeholder="Search docs">
  29. </div>
  30. <button class="navbar-burger" data-target="topbar-nav">
  31. <span></span>
  32. <span></span>
  33. <span></span>
  34. </button>
  35. </div>
  36. <div id="topbar-nav" class="navbar-menu">
  37. <div class="navbar-end">
  38. <div class="navbar-item theme-switch-wrapper">
  39. <label class="theme-switch" for="checkbox">
  40. <input type="checkbox" id="checkbox" />
  41. <div class="slider round"></div>
  42. </label>
  43. </div>
  44. <a class="navbar-item" href="https://github.com/jmonkeyengine/wiki">Github</a>
  45. </div>
  46. </div>
  47. </nav>
  48. </header>
  49. <div class="body">
  50. <div class="nav-container" data-component="wiki-ui" data-version="master">
  51. <aside class="nav">
  52. <div class="panels">
  53. <div class="nav-panel-menu is-active" data-panel="menu">
  54. <nav class="nav-menu">
  55. <h3 class="title"><a href="index.html">Wiki UI</a></h3>
  56. <ul class="nav-list">
  57. <li class="nav-item" data-depth="0">
  58. <ul class="nav-list">
  59. <li class="nav-item is-current-page" data-depth="1">
  60. <a class="nav-link" href="prerequisites.html">UI Development Prerequisites</a>
  61. </li>
  62. <li class="nav-item" data-depth="1">
  63. <a class="nav-link" href="set-up-project.html">Set up a UI Project</a>
  64. </li>
  65. <li class="nav-item" data-depth="1">
  66. <a class="nav-link" href="build-preview-ui.html">Build and Preview the UI</a>
  67. </li>
  68. <li class="nav-item" data-depth="1">
  69. <a class="nav-link" href="development-workflow.html">UI Development Workflow</a>
  70. </li>
  71. <li class="nav-item" data-depth="1">
  72. <a class="nav-link" href="templates.html">Work with the Handlebars Templates</a>
  73. </li>
  74. <li class="nav-item" data-depth="1">
  75. <button class="nav-item-toggle"></button>
  76. <a class="nav-link" href="stylesheets.html">Work with the CSS Stylesheets</a>
  77. <ul class="nav-list">
  78. <li class="nav-item" data-depth="2">
  79. <a class="nav-link" href="add-fonts.html">Add Fonts</a>
  80. </li>
  81. </ul>
  82. </li>
  83. <li class="nav-item" data-depth="1">
  84. <button class="nav-item-toggle"></button>
  85. <a class="nav-link" href="style-guide.html">UI Element Styles</a>
  86. <ul class="nav-list">
  87. <li class="nav-item" data-depth="2">
  88. <a class="nav-link" href="inline-text-styles.html">Inline Text</a>
  89. </li>
  90. <li class="nav-item" data-depth="2">
  91. <a class="nav-link" href="admonition-styles.html">Admonitions</a>
  92. </li>
  93. <li class="nav-item" data-depth="2">
  94. <a class="nav-link" href="list-styles.html">Lists</a>
  95. </li>
  96. <li class="nav-item" data-depth="2">
  97. <a class="nav-link" href="sidebar-styles.html">Sidebars</a>
  98. </li>
  99. <li class="nav-item" data-depth="2">
  100. <a class="nav-link" href="ui-macro-styles.html">UI Macros</a>
  101. </li>
  102. </ul>
  103. </li>
  104. </ul>
  105. </li>
  106. </ul>
  107. </nav>
  108. </div>
  109. <div class="nav-panel-explore" data-panel="explore">
  110. <div class="context">
  111. <span class="title">Wiki UI</span>
  112. <span class="version">master</span>
  113. </div>
  114. <ul class="components">
  115. <li class="component">
  116. <span class="title">JME</span>
  117. <ul class="versions">
  118. <li class="version">
  119. <a href="../docs/3.8/documentation.html">3.8</a>
  120. </li>
  121. <li class="version">
  122. <a href="../docs/3.4/documentation.html">3.4</a>
  123. </li>
  124. <li class="version">
  125. <a href="../docs/3.3/documentation.html">3.3</a>
  126. </li>
  127. <li class="version">
  128. <a href="../docs/3.2/documentation.html">3.2</a>
  129. </li>
  130. </ul>
  131. </li>
  132. <li class="component">
  133. <span class="title">Wiki Contribution</span>
  134. <ul class="versions">
  135. <li class="version">
  136. <a href="../docs-wiki/3.8/wiki_contributor.html">3.8</a>
  137. </li>
  138. </ul>
  139. </li>
  140. <li class="component is-current">
  141. <span class="title">Wiki UI</span>
  142. <ul class="versions">
  143. <li class="version is-current">
  144. <a href="index.html">master</a>
  145. </li>
  146. </ul>
  147. </li>
  148. </ul>
  149. </div>
  150. </div>
  151. </aside>
  152. </div>
  153. <main class="article">
  154. <div class="toolbar" role="navigation">
  155. <button class="nav-toggle"></button>
  156. <nav class="breadcrumbs" aria-label="breadcrumbs">
  157. <ul>
  158. <li><a href="index.html">Wiki UI</a></li>
  159. <li><a href="prerequisites.html">UI Development Prerequisites</a></li>
  160. </ul>
  161. </nav>
  162. <div class="edit-this-page"><a href="https://github.com/jMonkeyEngine/wiki-ui/edit/master/docs/modules/ROOT/pages/prerequisites.adoc">Edit this Page</a></div>
  163. </div>
  164. <div class="content">
  165. <article class="doc">
  166. <h1 class="page">UI Development Prerequisites</h1>
  167. <div id="preamble">
  168. <div class="sectionbody">
  169. <div class="paragraph">
  170. <p>An Antora UI project is based on tools built atop Node.js, namely:</p>
  171. </div>
  172. <div class="ulist">
  173. <ul>
  174. <li>
  175. <p><a href="https://nodejs.org">Node.js</a> (commands: <code>node</code> and <code>npm</code>)</p>
  176. <div class="ulist">
  177. <ul>
  178. <li>
  179. <p><a href="https://github.com/creationix/nvm">nvm</a> (optional, but strongly recommended)</p>
  180. </li>
  181. </ul>
  182. </div>
  183. </li>
  184. <li>
  185. <p><a href="http://gulpjs.com">Gulp CLI</a> (command: <code>gulp</code>)</p>
  186. </li>
  187. </ul>
  188. </div>
  189. <div class="paragraph">
  190. <p>You also need <a href="https://git-scm.com">git</a> (command: <code>git</code>) to pull down the project and push updates to it.</p>
  191. </div>
  192. </div>
  193. </div>
  194. <div class="sect1">
  195. <h2 id="git"><a class="anchor" href="#git"></a>git</h2>
  196. <div class="sectionbody">
  197. <div class="paragraph">
  198. <p>First, make sure you have git installed.</p>
  199. </div>
  200. <div class="literalblock">
  201. <div class="content">
  202. <pre>$ git --version</pre>
  203. </div>
  204. </div>
  205. <div class="paragraph">
  206. <p>If not, <a href="https://git-scm.com/downloads">download and install</a> the git package for your system.</p>
  207. </div>
  208. </div>
  209. </div>
  210. <div class="sect1">
  211. <h2 id="node-js"><a class="anchor" href="#node-js"></a>Node.js</h2>
  212. <div class="sectionbody">
  213. <div class="paragraph">
  214. <p>You need Node.js installed on your machine to use Antora, including the default UI.
  215. Antora follows the Node.js release schedule, so we advise that you choose an active long term support (LTS) release of Node.js.
  216. We recommend using the latest active Node.js LTS version.
  217. While you can use other versions of Node.js, Antora is only tested against LTS releases.</p>
  218. </div>
  219. <div class="paragraph">
  220. <p>To check whether you have Node.js installed, and which version, open a terminal and type:</p>
  221. </div>
  222. <div class="literalblock">
  223. <div class="content">
  224. <pre>$ node --version</pre>
  225. </div>
  226. </div>
  227. <div class="paragraph">
  228. <p>You should see a version string, such as:</p>
  229. </div>
  230. <div class="literalblock">
  231. <div class="content">
  232. <pre>v10.15.3</pre>
  233. </div>
  234. </div>
  235. <div class="paragraph">
  236. <p>If the command fails with an error, it means you don&#8217;t have Node.js installed.
  237. The best way to install Node.js is to use nvm (Node Version Manager).
  238. Refer to <a href="#antora:install:linux-requirements.adoc#install-nvm" class="xref unresolved">Install nvm and Node.js (Linux)</a>, <a href="#antora:install:macos-requirements.adoc#install-nvm" class="xref unresolved">Install nvm and Node.js (macOS)</a>, or <a href="#antora:install:windows-requirements.adoc#install-nvm" class="xref unresolved">Install nvm and Node.js (Windows)</a> for instructions.</p>
  239. </div>
  240. <div class="paragraph">
  241. <p>Once you have Node.js installed, you can proceed with installing the Gulp CLI.</p>
  242. </div>
  243. </div>
  244. </div>
  245. <div class="sect1">
  246. <h2 id="gulp-cli"><a class="anchor" href="#gulp-cli"></a>Gulp CLI</h2>
  247. <div class="sectionbody">
  248. <div class="paragraph">
  249. <p>Next, you&#8217;ll need the Gulp CLI (aka wrapper).
  250. This package provides the <code>gulp</code> command which executes the version of Gulp declared by the project.
  251. You should install the Gulp CLI globally (which resolves to a location in your user directory if you&#8217;re using nvm) using the following command:</p>
  252. </div>
  253. <div class="literalblock">
  254. <div class="content">
  255. <pre>$ npm install -g gulp-cli</pre>
  256. </div>
  257. </div>
  258. <div class="paragraph">
  259. <p>Now that you have Node.js and Gulp installed, you&#8217;re ready to set up the project.</p>
  260. </div>
  261. </div>
  262. </div>
  263. <nav class="pagination">
  264. <span class="prev"><a href="index.html">Wiki UI</a></span>
  265. <span class="next"><a href="set-up-project.html">Set up a UI Project</a></span>
  266. </nav>
  267. </article>
  268. <aside class="toc sidebar" data-title="Contents" data-levels="2">
  269. <div class="toc-menu"></div>
  270. </aside>
  271. </div>
  272. </main>
  273. </div>
  274. <footer class="footer">
  275. <p>Copyright 2020 jMonkeyEngine Wiki Contributors. Licensed BSD-3.</p>
  276. </footer>
  277. <script src="../_/js/vendor/docsearch.min.js"></script>
  278. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js -->
  279. <script>
  280. var search = docsearch({
  281. apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
  282. indexName: 'jmonkeyengine',
  283. inputSelector: '#search-input',
  284. autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
  285. algoliaOptions: { hitsPerPage: 10 }
  286. }).autocomplete
  287. search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
  288. function focusSearchInput () { document.querySelector('#search-input').focus() }
  289. if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput)
  290. </script>
  291. <script src="../_/js/site.js"></script>
  292. <script async src="../_/js/vendor/highlight.js"></script>
  293. </body>
  294. </html>