Files
impress.js/website/docs/contributing/index.html
2023-02-23 20:18:44 +01:00

56 lines
5.8 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Contributing :: Docs - impress.js</title>
<!--I am using jquery for button animations.-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/dark.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
<script src="/js/docs/loader.js"></script>
<link rel="stylesheet" href="/css/docs/style.css">
</head>
<body>
<div class="content">
<div id="nav"></div>
<div id="top"></div>
<div id="docPage">
<div id="doc-container">
<h1>Getting Started - Contributing</h1>
<h3>So, you'd like to contribute to this project?</h3>
<p>We're excited to have you in the team! We'll give you a quick introduction on contributing to this project.</p>
<p>Development happens on <a href="https://github.com/impress/impress.js">Github</a>. Fork the project and start editing! You may want to clone the repo locally. To do this, run the following commands (omit the --recursive for a minimal checkout): </p>
<pre>
<code>
git clone --recursive https://github.com/impress/impress.js
cd impress.js
</code>
</pre>
<p>Once you have made your changes, we expect you to run the following commands for testing:</p>
<pre>
<code>
npm i
npm run all
</code>
</pre>
<p>This will build the <b>impress.js</b> file, as well as the <b>impress.min.js</b> file which currently is not included in the repository. It will also build the website and run some tests to make sure your code follows our code guidelines.</p>
<h3>Repository structure</h3>
<ul>
<li><a href="https://github.com/impress/impress.js/tree/master/website">/website</a>: This folder contains all the source code for the impress.js website.</li>
<li><a href="https://github.com/impress/impress.js/tree/master/website/demo/index.html">website/demo/index.html</a> This is the official impress.js demo, showcasing all of the features of the original impress.js, as well as some new plugins as we add them. As already mentioned, this file is well commented and acts as the official tutorial.
<li><a href="https://github.com/impress/impress.js/tree/master/website/demo/examples/">website/demo/examples/</a> Contains several demos showcasing additional features available. <a href="website/demo/examples/classic-slides/index.html">Classic Slides</a> is a simple demo that you can use as template if you want to create very simple, rectangular, PowerPoint-like presentations.</li>
<li><a href="https://github.com/impress/impress.js/tree/master/src/">src/</a> The main file is <a href="https://github.com/impress/impress.js/blob/master/src/impress.js">src/impress.js</a>. Additional functionality is implemented as plugins in <a href="https://github.com/impress/impress.js/tree/master/src/plugins/">src/plugins/</a>. See <a href="https://github.com/impress/impress.js/blob/master/src/plugins/README.md">src/plugins/README.md</a> for information about the plugin API and how to write plugins.</li>
<li><a href="https://github.com/impress/impress.js/tree/master/test/">test/</a> Contains QUnit and Syn libraries that we use for writing tests, as well as some test coverage for core functionality. (Yes, more tests are much welcome.) Tests for plugins are in the directory of each plugin.</li>
<li><a href="https://github.com/impress/impress.js/tree/master/js">js/</a> Contains <a href="https://github.com/impress/impress.js/blob/master/js/impress.js">js/impress.js</a>, which contains a concatenation of the core `src/impress.js` and all the plugins. Traditionally this is the file that you'll link to in a browser. In fact both the demo and test files do exactly that.</li>
<li><a href="https://github.com/impress/impress.js/tree/master/website/demo/css/">css</a>: Contains a CSS file used by the demo. This file is <b>not required for using impress.js</b> in your own presentations. Impress.js creates the CSS it needs dynamically.</li>
<li><a href="https://github.com/impress/impress.js/tree/master/extras/">extras/</a> contains plugins that for various reasons aren't enabled by default. You have to explicitly add them with their own `script` element to use them.</li>
<li><a href="https://github.com/impress/impress.js/tree/master/build.js">build.js</a> Simple build file that creates `js/impress.js`. It also creates a minified version `impress.min.js`, but that one is not included in the github repository.</li>
<li><a href="https://github.com/impress/impress.js/tree/master/package.json">package.js</a> An NPM package specification. This was mainly added so you can easily install <a href="https://www.npmjs.com/package/buildify">buildify</a> and run `node build.js`. Other than the build process, which is really just doing roughly `cat src/impress.js src/plugins/*/*.js > js/impress.js`, and testing, `impress.js` itself doesn't depend on Node or any NPM modules.</li>
</ul>
</div>
</div>
<div id="footer"></div>
</div>
</body>
</html>