====== Vývojářská příručka ====== https://www.dokuwiki.org/development Jste vítáni, chcete přispět do [[dokuwiki|DokuWiki]] a zapojit se do jejího vývoje? Čím přesně chcete přispět, je samozřejmě na vás — začněte tím, co vás osobně nejvíc pálí. Pokud hledáte inspiraci na to, co chybí, podívejte se do [[doku>bugs|bugtrackeru]] nebo na stránku [[doku>devel:ideas|nápadů]]. Můžete také zvážit [[doku>devel:adoption|převzetí pluginu nebo šablony]]. Začněte kapitolou [[#Začínáme]]. ===== Začínáme ===== * [[doku>devel:Git|Git]] – získání kódu a práce s Gitem((Systém verzování používaný pro vývoj DokuWiki.)) * [[doku>devel:github|Práce s Github Pull Requesty (žádosti o změny)]] * [[doku>devel:coding_style|Styl kódování]] * [[doku>devel:Composer|Skladatel]] * Nastavení editoru * [[doku>devel:VIM|VIM]] * [[doku>devel:IntelliJ Idea]] (nebo [[https://www.jetbrains.com/phpstorm/|PhpStorm]]) {{http://www.jetbrains.com/img/logos/logo_intellij_idea.png?80&nolink&recache}} * [[doku>devel:Security|Zabezpečení]] * Testování * [[doku>devel:unittesting|Jednotkové testy]] * [[doku>devel:browserstack|Testování v prohlížečích pomocí BrowserStack]] {{browserstack-logo.png?100&nolink}} * [[doku>devel:Patches]] * [[doku>devel:Debugging|Ladění]] ===== Vývojářská dokumentace ===== * [[doku>devel:Overview]] – průchod tím, jak se zpracovává požadavek na stránku * [[doku>devel:dirlayout|Struktura adresářů]] * [[doku>devel:Environment]] – globální proměnné a konstanty * Přístup k [[doku>devel:request_vars|proměnným požadavků]] * [[doku>devel:Session handling|Zpracování relace]] * [[doku>devel:Preload]] * [[doku>devel:Autoloader]] * [[doku>devel:Callgraph]] * [[doku>devel:Logging]] * [[doku>devel:Locking|Zamykání]] * [[doku>devel:Action Modes|Akční režimy]] * [[doku>devel:Authentication|Ověřování]] * [[doku>devel:caching|Mechanismy ukládání do mezipaměti]] * [[doku>devel:Parser|Analyzátor]] * [[doku>devel:Metadata|Metadata]] * [[doku>devel:fulltextindex|Fulltextový index]] * [[doku>devel:Plugins|Pluginy]] * [[doku>devel:Plugin File Structure|Struktura souborů pluginu]] * [[doku>devel:Common Plugin Functions]] * [[doku>devel:Action Plugins]] * [[doku>devel:events|Systém událostí]] * [[doku>devel:events_list|Přehled událostí]] * [[doku>devel:event_handlers|Obslužné funkce událostí]] * Příklady [[doku>devel:event handlers code]] * [[doku>devel:Syntax Plugins|Syntaktické pluginy]] * [[doku>devel:Helper Plugins|Pomocné pluginy]] * [[doku>devel:Renderer Plugins|Renderovací pluginy]] * [[doku>devel:Admin Plugins|Správcovské pluginy]] * [[doku>devel:Remote Plugins]] * [[doku>devel:Auth Plugins|Autorizační pluginy]] * [[doku>devel:CLI Plugins|Pluginy rozhranní CLI]] * [[doku>devel:unittesting#plugin_and_template_tests|Jednotkové testy pluginů a šablon]] * [[doku>devel:toolbar|Panel nástrojů]] * [[doku>devel:Plugin Programming Tips|Tipy pro programování pluginů]] * [[doku>devel:Templates|Šablony]] * [[doku>template:Starter|Šablona Starter]] – základní stavební blok pro nové šablony * [[doku>devel:Menus|Menu]] * [[doku>devel:style.ini|style.ini]] – CSS: načítání stylů a nastavení proměnných * [[doku>devel:Configuration|Konfigurace]] * [[doku>devel:Localization|Lokalizace]] * [[doku>devel:CSS|CSS]] * [[doku>devel:LESS|LESS]] preprocesor * [[doku>devel:JavaScript|JavaScript]] (jQuery, jQueryUI) * [[doku>devel:jqueryfaq|jQuery FAQ pro vývojáře pluginů]] * [[doku>devel:SVG|SVG]] * Interní knihovny * [[doku>devel:utf-8|Práce s UTF-8 řetězci]] * [[doku>devel:request_vars|Zpracování proměnných GET/POST]] * [[doku>devel:mail|Odesílání e-mailů]] * [[doku>devel:httpclient|HTTP klientská knihovna]] * [[doku>devel:simplepie|Analyzátor RSS (parser)]] * [[doku>devel:form|Formuláře]] * Knihovny Composer * [[doku>devel:geshi|Zvýrazňování syntaxe pomocí GeSHi]] * [[doku>devel:phparchive|Komprese/dekomprese ZIP a TGZ]] * [[doku>devel:Remote API|Vzdálené API]] * [[doku>devel:XMLRPC|XML-RPC]] * [[doku>devel:JSONRPC|JSON-RPC]] * Další zdroje * [[https://codesearch.dokuwiki.org/xref/dokuwiki/|API dokumentace]]((generována denně)) * [[doku>devel:snapshots|Denní snapshoty]] * [[doku>devel:releases|Poznámky k vydání pro vývojáře]] * [[https://github.com/dokuwiki/dokuwiki|Git rozhraní]] pro prohlížení zdrojového kódu a patchů * [[https://www.openhub.net/p/dokuwiki/contributors|Síň slávy]] – všichni přispěvatelé DokuWiki ===== Průvodce pro vývojový tým ===== * [[doku>devel:coredevs|Jak se stát Core vývojářem]] * [[doku>devel:release_process|Proces vydání a informace o sestavení verze]] ===== Nápady a brainstormy ===== * Plánování externího [[doku>devel:Security Audit|bezpečnostního auditu]] DokuWiki * [[doku>devel:Ideas|Nápady s koncepty]], které mohou noví vývojáři realizovat * Plány na radikálnější [[doku>devel:Template changes|změny šablon]] * [[doku>devel:Refactoring|Refactoring]] DokuWiki * [[doku>devel:Farm|Farma]] – nápady pro [[doku>tips:farm|wiki farmy]] * Poznámky k [[doku>devel:Memory footprint reduction|optimalizaci paměťové náročnosti]] * Brainstorming((Brainstorming je technika skupinové kreativity zaměřená na generování co nejvíce nápadů na dané téma.)) o [[doku>devel:scalability|škálovatelnosti]], [[doku>devel:scalability_proposal|návrhy škálování]] * Brainstorming se [[doku>devel:Tagline|slogany]] pro dokuwiki.org