github_tips.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  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>Github Tips :: jMonkeyEngine Docs</title>
  7. <link rel="canonical" href="https://wiki.jmonkeyengine.org/docs/github_tips.html">
  8. <link rel="prev" href="bsd_license.html">
  9. <link rel="next" href="sdk.html">
  10. <meta name="generator" content="Antora 2.3.3">
  11. <link rel="stylesheet" href="../_/css/site.css">
  12. <meta property="og:image" content="https://mitm001.github.io/docs.jmonkeyengine.org/_/img/iconx128.png">
  13. <meta property="og:description" content="Github Tips">
  14. <meta property="og:title" content="jMonkeyEngine Docs">
  15. <link rel="icon" href="../_/img/favicon.ico" type="image/x-icon">
  16. </head>
  17. <body class="article">
  18. <header class="header">
  19. <nav class="navbar">
  20. <div class="navbar-brand">
  21. <a class="navbar-item" href="https://wiki.jmonkeyengine.org">
  22. <img alt="" src="../_/img/iconx128.png" width="32" type="image/x-icon" style="margin-right:16px">
  23. jMonkeyEngine Docs
  24. </a>
  25. <button class="navbar-burger" data-target="topbar-nav">
  26. <span></span>
  27. <span></span>
  28. <span></span>
  29. </button>
  30. </div>
  31. <div id="topbar-nav" class="navbar-menu">
  32. <div class="navbar-end">
  33. <div class="navbar-item theme-switch-wrapper">
  34. <label class="theme-switch" for="checkbox">
  35. <input type="checkbox" id="checkbox" />
  36. <div class="slider round"></div>
  37. </label>
  38. <p class="navlabel">Dark Mode</p>
  39. </div>
  40. <a class="navbar-item" href="https://github.com/jmonkeyengine/wiki">Github</a>
  41. </div>
  42. </div>
  43. </nav>
  44. </header>
  45. <div class="body">
  46. <div class="nav-container" data-component="docs" data-version="master">
  47. <aside class="nav">
  48. <div class="panels">
  49. <div class="nav-panel-menu is-active" data-panel="menu">
  50. <nav class="nav-menu">
  51. <h3 class="title"><a href="documentation.html">Docs</a></h3>
  52. <ul class="nav-list">
  53. <li class="nav-item" data-depth="0">
  54. <ul class="nav-list">
  55. <li class="nav-item" data-depth="1">
  56. <a class="nav-link" href="documentation.html">Getting Started</a>
  57. </li>
  58. <li class="nav-item" data-depth="1">
  59. <a class="nav-link" href="https://javadoc.jmonkeyengine.org/v3.3.2-stable">JavaDoc</a>
  60. </li>
  61. <li class="nav-item" data-depth="1">
  62. <button class="nav-item-toggle"></button>
  63. <a class="nav-link" href="jme3.html">jMonkeyEngine 3</a>
  64. <ul class="nav-list">
  65. <li class="nav-item" data-depth="2">
  66. <button class="nav-item-toggle"></button>
  67. <span class="nav-text">Beginner Tutorials</span>
  68. <ul class="nav-list">
  69. <li class="nav-item" data-depth="3">
  70. <a class="nav-link" href="jme3/beginner/hello_simpleapplication.html">Hello SimpleApplication</a>
  71. </li>
  72. <li class="nav-item" data-depth="3">
  73. <a class="nav-link" href="jme3/beginner/hello_node.html">Hello Node</a>
  74. </li>
  75. <li class="nav-item" data-depth="3">
  76. <a class="nav-link" href="jme3/beginner/hello_asset.html">Hello Asset</a>
  77. </li>
  78. <li class="nav-item" data-depth="3">
  79. <a class="nav-link" href="jme3/beginner/hello_main_event_loop.html">Hello Main Event Loop</a>
  80. </li>
  81. <li class="nav-item" data-depth="3">
  82. <a class="nav-link" href="jme3/beginner/hello_input_system.html">Hello Input System</a>
  83. </li>
  84. <li class="nav-item" data-depth="3">
  85. <a class="nav-link" href="jme3/beginner/hello_material.html">Hello Material</a>
  86. </li>
  87. <li class="nav-item" data-depth="3">
  88. <a class="nav-link" href="jme3/beginner/hello_animation.html">Hello Animation</a>
  89. </li>
  90. <li class="nav-item" data-depth="3">
  91. <a class="nav-link" href="jme3/beginner/hello_picking.html">Hello Picking</a>
  92. </li>
  93. <li class="nav-item" data-depth="3">
  94. <a class="nav-link" href="jme3/beginner/hello_collision.html">Hello Collision</a>
  95. </li>
  96. <li class="nav-item" data-depth="3">
  97. <a class="nav-link" href="jme3/beginner/hello_terrain.html">Hello Terrain</a>
  98. </li>
  99. <li class="nav-item" data-depth="3">
  100. <a class="nav-link" href="jme3/beginner/hello_audio.html">Hello Audio</a>
  101. </li>
  102. <li class="nav-item" data-depth="3">
  103. <a class="nav-link" href="jme3/beginner/hello_effects.html">Hello Effects</a>
  104. </li>
  105. <li class="nav-item" data-depth="3">
  106. <a class="nav-link" href="jme3/beginner/hello_physics.html">Hello Physics</a>
  107. </li>
  108. </ul>
  109. </li>
  110. <li class="nav-item" data-depth="2">
  111. <button class="nav-item-toggle"></button>
  112. <span class="nav-text">Intermediate Tutorials</span>
  113. <ul class="nav-list">
  114. <li class="nav-item" data-depth="3">
  115. <button class="nav-item-toggle"></button>
  116. <span class="nav-text">Concepts</span>
  117. <ul class="nav-list">
  118. <li class="nav-item" data-depth="4">
  119. <a class="nav-link" href="jme3/intermediate/best_practices.html">Best Practices</a>
  120. </li>
  121. <li class="nav-item" data-depth="4">
  122. <a class="nav-link" href="jme3/intermediate/simpleapplication.html">Simple Application</a>
  123. </li>
  124. <li class="nav-item" data-depth="4">
  125. <a class="nav-link" href="jme3/features.html">Features</a>
  126. </li>
  127. <li class="nav-item" data-depth="4">
  128. <a class="nav-link" href="jme3/intermediate/optimization.html">Optimization</a>
  129. </li>
  130. <li class="nav-item" data-depth="4">
  131. <a class="nav-link" href="jme3/faq.html">FAQ</a>
  132. </li>
  133. </ul>
  134. </li>
  135. <li class="nav-item" data-depth="3">
  136. <button class="nav-item-toggle"></button>
  137. <span class="nav-text">Math Concepts</span>
  138. <ul class="nav-list">
  139. <li class="nav-item" data-depth="4">
  140. <a class="nav-link" href="jme3/math_for_dummies.html">Math For Dummies</a>
  141. </li>
  142. <li class="nav-item" data-depth="4">
  143. <a class="nav-link" href="jme3/intermediate/math.html">Math</a>
  144. </li>
  145. <li class="nav-item" data-depth="4">
  146. <a class="nav-link" href="jme3/math.html">More Math</a>
  147. </li>
  148. <li class="nav-item" data-depth="4">
  149. <a class="nav-link" href="jme3/rotate.html">Rotate</a>
  150. </li>
  151. <li class="nav-item" data-depth="4">
  152. <a class="nav-link" href="jme3/math_video_tutorials.html">Math Video Tutorials</a>
  153. </li>
  154. </ul>
  155. </li>
  156. <li class="nav-item" data-depth="3">
  157. <button class="nav-item-toggle"></button>
  158. <span class="nav-text">3D Graphics Concepts</span>
  159. <ul class="nav-list">
  160. <li class="nav-item" data-depth="4">
  161. <a class="nav-link" href="jme3/intermediate/multi-media_asset_pipeline.html">Multi-Media Asset Pipeline</a>
  162. </li>
  163. <li class="nav-item" data-depth="4">
  164. <a class="nav-link" href="jme3/scenegraph_for_dummies.html">Scenegraph for Dummies</a>
  165. </li>
  166. <li class="nav-item" data-depth="4">
  167. <a class="nav-link" href="jme3/beginner/hellovector.html">Hello Vector</a>
  168. </li>
  169. <li class="nav-item" data-depth="4">
  170. <a class="nav-link" href="jme3/terminology.html">Terminology</a>
  171. </li>
  172. <li class="nav-item" data-depth="4">
  173. <a class="nav-link" href="jme3/intermediate/how_to_use_materials.html">How to Use Materials</a>
  174. </li>
  175. <li class="nav-item" data-depth="4">
  176. <a class="nav-link" href="jme3/intermediate/transparency_sorting.html">Transparency and Sorting</a>
  177. </li>
  178. <li class="nav-item" data-depth="4">
  179. <a class="nav-link" href="jme3/external/blender.html">Importing from Blender</a>
  180. </li>
  181. <li class="nav-item" data-depth="4">
  182. <a class="nav-link" href="jme3/external/3dsmax.html">Importing from 3DS Max</a>
  183. </li>
  184. </ul>
  185. </li>
  186. </ul>
  187. </li>
  188. </ul>
  189. </li>
  190. <li class="nav-item" data-depth="1">
  191. <a class="nav-link" href="logo.html">Logo Usage</a>
  192. </li>
  193. <li class="nav-item" data-depth="1">
  194. <a class="nav-link" href="bsd_license.html">License</a>
  195. </li>
  196. <li class="nav-item is-current-page" data-depth="1">
  197. <a class="nav-link" href="github_tips.html">Github Tips</a>
  198. </li>
  199. </ul>
  200. </li>
  201. <li class="nav-item" data-depth="0">
  202. <button class="nav-item-toggle"></button>
  203. <span class="nav-text">SDK</span>
  204. <ul class="nav-list">
  205. <li class="nav-item" data-depth="1">
  206. <a class="nav-link" href="sdk.html">jMonkeyEngine SDK</a>
  207. </li>
  208. </ul>
  209. </li>
  210. </ul>
  211. </nav>
  212. </div>
  213. <div class="nav-panel-explore" data-panel="explore">
  214. <div class="context">
  215. <span class="title">Docs</span>
  216. <span class="version">master</span>
  217. </div>
  218. <ul class="components">
  219. <li class="component is-current">
  220. <span class="title">Docs</span>
  221. <ul class="versions">
  222. <li class="version is-current is-latest">
  223. <a href="documentation.html">master</a>
  224. </li>
  225. </ul>
  226. </li>
  227. <li class="component">
  228. <span class="title">Wiki UI</span>
  229. <ul class="versions">
  230. <li class="version is-latest">
  231. <a href="../wiki-ui/index.html">master</a>
  232. </li>
  233. </ul>
  234. </li>
  235. </ul>
  236. </div>
  237. </div>
  238. </aside>
  239. </div>
  240. <main class="article">
  241. <div class="toolbar" role="navigation">
  242. <button class="nav-toggle"></button>
  243. <nav class="breadcrumbs" aria-label="breadcrumbs">
  244. <ul>
  245. <li><a href="documentation.html">Docs</a></li>
  246. <li><a href="github_tips.html">Github Tips</a></li>
  247. </ul>
  248. </nav>
  249. <div class="edit-this-page"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/docs/modules/ROOT/pages/github_tips.adoc">Edit this Page</a></div>
  250. </div>
  251. <div class="content">
  252. <article class="doc">
  253. <h1 class="page">Github Tips</h1>
  254. <div class="sect1">
  255. <h2 id="inserting-code-links-into-forum-posts"><a class="anchor" href="#inserting-code-links-into-forum-posts"></a>Inserting code links into forum posts</h2>
  256. <div class="sectionbody">
  257. <div class="paragraph">
  258. <p>There will come a time when you may wish to insert links from github into your forum posts to highlight problems in code, clarify some point your making, or provide more background. Whatever the reasons, here are a few pointers that will help make your posts more robust.</p>
  259. </div>
  260. </div>
  261. </div>
  262. <div class="sect1">
  263. <h2 id="creating-permanent-links"><a class="anchor" href="#creating-permanent-links"></a>Creating permanent links</h2>
  264. <div class="sectionbody">
  265. <div class="paragraph">
  266. <p>To create a link to a specific line in a file located on github all you need to do is click the line number inside the file. A three dot tag will appear and the line will be highlighted in yellow.</p>
  267. </div>
  268. <div class="imageblock text-left">
  269. <div class="content">
  270. <img src="_images/wiki/github_tag.png" alt="github_tag.png">
  271. </div>
  272. </div>
  273. <div class="paragraph">
  274. <p>This will append the line number to the URL in your address bar with the format <code>#L&lt;number&gt;</code>, in our case <code>#L61</code>.</p>
  275. </div>
  276. <div class="listingblock">
  277. <div class="content">
  278. <pre class="highlightjs highlight"><code>https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-core/src/plugins/java/com/jme3/material/plugins/J3MLoader.java#L61</code></pre>
  279. </div>
  280. </div>
  281. <div class="paragraph">
  282. <p>Click the three dot tag and a option menu will appear.</p>
  283. </div>
  284. <div class="imageblock text-left">
  285. <div class="content">
  286. <img src="_images/wiki/github_tag_menue.png" alt="github_tag_menue.png">
  287. </div>
  288. </div>
  289. <div class="paragraph">
  290. <p>Select the <code>Copy permalink</code> option and now you can paste the URL into any forum post or wiki issue and the code display window will show your selection like so:</p>
  291. </div>
  292. <div class="paragraph">
  293. <div class="title">jMonkey forum</div>
  294. <p><span class="image"><img src="_images/wiki/github_jme_forum.png" alt="github_jme_forum.png"></span></p>
  295. </div>
  296. <div class="paragraph">
  297. <p>The same thing applies to github.</p>
  298. </div>
  299. <div class="paragraph">
  300. <div class="title">Github issue</div>
  301. <p><span class="image"><img src="_images/wiki/github_issue_write.png" alt="github_issue_write.png"></span></p>
  302. </div>
  303. <div class="imageblock text-left">
  304. <div class="content">
  305. <img src="_images/wiki/github_issue_preview.png" alt="github_issue_preview.png">
  306. </div>
  307. </div>
  308. <div class="paragraph">
  309. <p>If you want to select more than one line:</p>
  310. </div>
  311. <div class="olist arabic">
  312. <ol class="arabic">
  313. <li>
  314. <p>Select the start line number.</p>
  315. </li>
  316. <li>
  317. <p>Hold down the <kbd>Shift</kbd> key.</p>
  318. </li>
  319. <li>
  320. <p>Select the ending line number.</p>
  321. </li>
  322. </ol>
  323. </div>
  324. <div class="imageblock text-left">
  325. <div class="content">
  326. <img src="_images/wiki/github_multiline.png" alt="github_multiline.png">
  327. </div>
  328. </div>
  329. <div class="paragraph">
  330. <p>All the lines between will be highlighted as well. This will change the URL using the format <code>#L&lt;number&gt;-L&lt;number&gt;</code>, in our case <code>#L83-L86</code>.</p>
  331. </div>
  332. <div class="listingblock">
  333. <div class="content">
  334. <pre class="highlightjs highlight"><code>https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-core/src/plugins/java/com/jme3/material/plugins/J3MLoader.java#L83-L86</code></pre>
  335. </div>
  336. </div>
  337. <div class="paragraph">
  338. <p>The above mentioned links are just normal URLs. This means that this line will be linked forever at this point in this file as long as it exists. What if the line changes or what you were referring to goes away or moves to another line? Canonical URLs to the rescue!</p>
  339. </div>
  340. </div>
  341. </div>
  342. <div class="sect1">
  343. <h2 id="canonical-urls"><a class="anchor" href="#canonical-urls"></a>Canonical URLs</h2>
  344. <div class="sectionbody">
  345. <div class="paragraph">
  346. <p>A Canonical URL will attach the SHA hash number of the commit to the URL so even if the file changes, that link will always point to the same file and same line.</p>
  347. </div>
  348. <div class="listingblock">
  349. <div class="title">Normal URL</div>
  350. <div class="content">
  351. <pre class="highlightjs highlight"><code>https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-core/src/plugins/java/com/jme3/material/plugins/J3MLoader.java#L83-L86</code></pre>
  352. </div>
  353. </div>
  354. <div class="listingblock">
  355. <div class="title">Canonical URL</div>
  356. <div class="content">
  357. <pre class="highlightjs highlight"><code>https://github.com/jMonkeyEngine/jmonkeyengine/blob/a9afcecc41b54feaac253e38d2f2282c8c6027fc/jme3-core/src/plugins/java/com/jme3/material/plugins/J3MLoader.java#L83-L86</code></pre>
  358. </div>
  359. </div>
  360. <div class="paragraph">
  361. <p>Notice the hash commit number is now part of the URL.</p>
  362. </div>
  363. <div class="paragraph">
  364. <p>To make the Canonical URL just select the <kbd>y</kbd> hot key after selecting the line number or numbers. Once you have done this, all links from thereafter will be Canonical URLs.</p>
  365. </div>
  366. <hr>
  367. <div class="paragraph">
  368. <p>Suggested reading:</p>
  369. </div>
  370. <div class="ulist">
  371. <ul>
  372. <li>
  373. <p><a href="https://help.github.com/en/articles/keyboard-shortcuts#source-code-editing">Source code browsing</a></p>
  374. </li>
  375. <li>
  376. <p><a href="https://help.github.com/en/articles/getting-permanent-links-to-files">Getting permanent links to files</a></p>
  377. </li>
  378. </ul>
  379. </div>
  380. </div>
  381. </div>
  382. <nav class="pagination">
  383. <span class="prev"><a href="bsd_license.html">License</a></span>
  384. <span class="next"><a href="sdk.html">jMonkeyEngine SDK</a></span>
  385. </nav>
  386. </article>
  387. <aside class="toc sidebar" data-title="Contents" data-levels="2">
  388. <div class="toc-menu"></div>
  389. </aside>
  390. </div>
  391. </main>
  392. </div>
  393. <footer class="footer">
  394. <p>Copyright 2020 jMonkeyEngine Wiki Contributors. Licensed BSD-3.</p>
  395. </footer>
  396. <script src="../_/js/site.js"></script>
  397. <script async src="../_/js/vendor/highlight.js"></script>
  398. </body>
  399. </html>