Skip to content
This repository has been archived by the owner on Aug 20, 2021. It is now read-only.

Commit

Permalink
bump version number, rebuild
Browse files Browse the repository at this point in the history
  • Loading branch information
Jan Jaromír Horák committed Mar 15, 2018
1 parent 8681050 commit 6c33f8e
Show file tree
Hide file tree
Showing 65 changed files with 21,093 additions and 1 deletion.
Binary file added dist/archives/hradla-1.5.0.tar.gz
Binary file not shown.
Binary file added dist/archives/hradla-1.5.0.zip
Binary file not shown.
1 change: 1 addition & 0 deletions dist/css/docs.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/css/jsdoc.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions dist/css/lib/lity.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/css/style.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/docs/developer.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Hradla</title><link href="https://fonts.googleapis.com/css?family=Inconsolata|Open+Sans:400,400i,700&amp;subset=latin-ext" rel="stylesheet"><link href="../css/docs.min.css" rel="stylesheet"></head><body><h1 id="program-torsk-dokumentace">Programátorská dokumentace</h1><p>Programátorská část dokumentace k programu Hradla. Můžete si také <a href="user.html">zobrazit uživatelskou dokumentaci</a>.</p><p>Zdrojové kódy jsou k dispozici v <a href="https://github.com/janjaromirhorak/hradla">repozitáři na GitHubu</a>.</p><h2 id="instalace-a-kompilace">Instalace a kompilace</h2><p>Projekt pro instalaci a kompilaci používá balíčkovací nástroj <em>npm</em>, veškerá jeho konfigurace je popsána v konfiguračním souboru <code>package.json</code>.</p><p>Po stažení zdrojových souborů je nutno v kořenové složce spustit příkaz <code>npm install</code>, který doinstaluje potřebné balíky popsané v konfiguračním souboru.</p><p>Po úspěšné instalaci závislostí už lze celý projekt zkompilovat pomocí příkazu <code>npm run build</code>. Tento příkaz vygeneruje soubory <code>css/style.css</code>, <code>css/style.min.css</code>, <code>js/app.js</code> a <code>js/app.min.js</code>.</p><h2 id="npm-skripty"><em>npm</em> skripty</h2><p>Kromě skriptu <code>build</code> lze ještě použít skripty <code>build:css</code> na zkompilování kaskádových stylů a <code>build:js</code> na kompilaci JavaScriptu. (Skript <code>build</code> pouze balí tyto dva příkazy do jednoho.) Skript <code>clean</code> odstraní všechny vygenerované soubory.</p><h2 id="struktura-projektu-pou-it-technologie">Struktura projektu, použitá technologie</h2><p>Uživatel k editoru přistupuje pomocí HTML stránky <code>index.html</code> v kořenovém adresáři.</p><h3 id="javascript">JavaScript</h3><p>Samotný kód aplikace je psán v JavaScriptu podle specifikace EcmaScript 2015 (ES2015, ES6), pomocí kompilátoru <code>traceur</code> je pak převáděn do JavaScriptu odpovídajícímu specifikaci EcmaScript 3.1 (ES5). Ke kódu je následně ještě připojena knihovna <code>traceur-runtime</code> ze souboru <code>js/lib/traceur-runtime.js</code> (ta umožňuje načítání modulů) a kód je pak minifikován pomocí <code>uglifyjs</code>.</p><p>Zdrojové kódy se nacházejí ve složce <code>es6</code>.</p><p>JavaScriptový kód je rozdělen do několika souborů.</p><h4 id="main">main</h4><p>Inicializace aplikace (aplikace je spuštěna jako callback jQuery funkce <code>ready</code>). Zde je specifikován jQuery selektor inline SVG dokumentu, který je používán pro editační plochu, a jemnost mřížky v pixelech. Zavoláním konstruktoru <code>Svg</code> se aplikace inicializuje.</p><h4 id="canvas">canvas</h4><p>Hlavní soubor, obsahuje třídu <code>Svg</code> která spojuje všechnu dílčí funkcionalitu do jednoho celku. Tato třída má na starosti inicializaci samotného SVG dokumentu, zpracovává uživatelské akce (řeší volání callbacků na správných cílech, inicializuje kontextové menu a menu v pravém dolním rohu), má funkce pro přidávání a odebírání elementů na editační ploše. Ve třídě <code>Svg</code> jsou také uloženy všechny objekty, se kterými uživatel v editoru pracuje.</p><h4 id="editorelements">editorElements</h4><p>Definice tříd, které popisují elementy, se kterými pak pracuje hlavní třída <code>Svg</code> (Gate, Connector, Wire), tedy obalující jednotlivé DOM objekty ze SVG dokumentu (definované v <code>svgObjects</code>) do logických celků a přiřazující jim funkcionalitu.</p><h4 id="logic">logic</h4><p>Statická třída <code>Logic</code>, která obsahuje logické funkce pro jednotlivá hradla a konstanty čtyř logických stavů, se kterými aplikace pracuje (<code>on</code>, <code>off</code>, <code>unknown</code>, <code>oscillating</code>).</p><h4 id="smallfunctions">smallFunctions</h4><p>Statická třída pro malé pomocné funkce, zatím obsahuje jen funkci <code>deepCopy</code> (která obaluje volání metody <code>extend</code> z jQuery) vracející hlubokou kopii pole.</p><h4 id="structuresandclasses">structuresAndClasses</h4><p>Třída obsahující různé datové struktury a singleton <code>Id</code> (sloužící ke generování unikátních identifikátorů pro DOM elementy).</p><h4 id="svgobjects">svgObjects</h4><p>Definice SVG objektů, které jsou pak používány v <code>editorElements</code>. Využití dědičnosti pro specializaci jednotlivých elementů. Předchůdcem všech elementů je <code>Tag</code>, z něj jsou pak odvozovány různé specializace (<code>Image</code> pro vložení obrázku, <code>PolyLine</code> pro lomenou čáru, <code>Rectangle</code> pro obdélník atd.). Každý objekt obsahuje jQuery objekt a metody, které ulehčují operace tímto objektem.</p><h4 id="contextmenu">contextMenu</h4><p>Soubor, obsahující třídu <code>contextMenu</code>, která obstarává funkcionalitu kontextového menu (zobrazí se po pravém kliknutí myší).</p><h4 id="floatingmenu">floatingMenu</h4><p>Soubor, obsahující třídu <code>floatingMenu</code>, která obstarává funkcionalitu menu v pravém dolním rohu editoru.</p><h3 id="kask-dov-styly">Kaskádové styly</h3><p>Kaskádové styly jsou psány v jazyce SASS se syntaxí ve stylu SCSS a kompilován pomocí <code>sass</code> do CSS3. Po kompilaci je k němu připojen soubor <code>css/lib/normalize.css</code>, který sjednocuje zobrazování nenastylovaných elementů napříč prohlížeči. Kód je minifikován pomocí <code>uglify-css</code>.</p><p>For technical documentation please visit <a href="./gen/index.html" target="_blank">the docs</a>.</p></body></html>
Loading

0 comments on commit 6c33f8e

Please sign in to comment.