Bluefish je pokročilý editor zdrojového kódu s různými nástroji pro programování a tvorbu webových stránek. Umožňuje editovat zdrojový kód v programovacích jazycích C, JavaScript, Java, PHP, Python i v značkovacích jazycích jako HTML, YAML a XML. Jedná se o svobodný software zdarma dostupný na mnoha platformách, včetně Linuxu, macOS a Windows a lze ho používat prostřednictvím integrace s GNOME nebo jako samostatnou aplikaci. Bluefish byl navržen jako kompromis mezi jednoduchými textovými editory a plnohodnotným vývojovým prostředím. Bluefish je lehký, rychlý nástroj, jenžse je snadné naučit používat a poskytuje mnoho funkcí IDE. Bluefish byl jedním z prvních editorů zdrojového kódu na desktopu Linuxu. Byl přeložen do 20 jazyků. Zdrojový kód je dostupný pod GNU General Public License.
Funkce Bluefish není kompletní vývojové prostředí, ale je více než pokročilý textový editor. V porovnání s vývojovým prostředím postrádá Bluefish funkce jako integrovaný debugger. Je možno nejlépe jej popsat jako pokročilý textový editor s mnoha specifickými webovými funkcemi. Někteří jej označují jako vývojové prostředí, ale neobsahuje komponenty WYSIWYG pro návrh webu.
Funkce Bluefish zahrnují zvýraznění syntaxe a našeptávač pro 47 značkovacích a programovacích jazyků, což je dá přizpůsobit pomocí vlastní definice syntaxe v XML. Dále nabízí skládání kódu, automatické obnovení, funkci nahrávání/stahování (na systémech, kde je k dispozici GVfs), kontrolu pravopisu,prohlížeč znaků Unicode, podporu projektů, navigaci v kódu a záložky. Má některé pokročilé funkce vyhledávání a nahrazování s podporou regulárních výrazů a podporu vyhledávání a nahrazování více souborů. Má rozhraní pro více dokumentů, které dokáže rychle načíst velké (stovky souborů) databáze kódu nebo webové stránky, a nabízí editaci přes celou obrazovku.
Pro tvorbu webových stránek má mnoho panelů nástrojů se specifickými dialogy a průvodci pro automatické vkládání správných značek HTML, navíc automatické doplňování všech značek a jejich atributů spolu s funkcí Zencoding/emmet pomáhá při rychlé tvorbě webových stránek.
Bluefish je rozšiřitelný pomocí pluginů a externích nástrojů a skriptů Mnoho skriptů je předkonfigurováno, včetně statické analýzy kódu a kontroly syntaxe a značek pro různé značkovací a programovací jazyky, jako je lint nebo weblint. Také jednoduchá funkce podobná macru zvaná „vlastní menu“ pomáhá urychlit opakující se akce. Předkonfigurována je velká sada maker pro PHP a HTML.
Zdrojový kód a vývoj Zdrojový kód Bluefish je dostupná na stánce SourceForge. Po krátkém období, kdy si vývojáři Bluefish posílali části kódu prostřednictvím e-mailu, se Bluefish připojil jako jeden z prvních projektů na SourceForge. Komunita se připojila v prvních měsících po spuštění, hlavně díky Robinu Millerovi, který byl velkým uživatelem Bluefish a pracoval pro Geeknet, který vlastnil SourceForge. Zpočátku se pro správu verzí kódu používal systém CVS, později se začal používat SVN.
Bluefish má zdrojový kód psaný převážně v jazyce C a pro své ovládací prvky (GUI) používá multiplatformní knihovnu GTK. Podpora značkovacích a programovacích jazyků je definována v souborech XML, které se načítají pomocí Libxml2. Volitelné pluginy vyžadují libenchant, python and libgucharmap. Sestavení binárního souboru se provádí pomocí nástrojů Automake a Autoconf, které konfigurují a nastavují prostředí pro sestavení. Ke kompilaci Bluefish lze použít llvm i GCC. V systému Windows se k sestavení binárních souborů používá MinGW. Na OSX existují porty Fink a Macports, ale oficiální binární soubor se sestavuje pomocí Gtk-OSX-Integration.
Bluefish má API pro pluginy v jazyce C, ale to bylo použito hlavně k oddělení neudržovaných částí (jako je infobrowser-plugin) od udržovaných částí. Existuje také několik pluginů v jazyce Python, které však pro interakci s hlavním programem potřebují plugin v jazyce C. Bluefish podporuje také velmi volně vázané pluginy: externí skripty, které čtou standardní vstup a vracejí své výsledky prostřednictvím standardního výstupu, může uživatel konfigurovat v panelu předvoleb. Různé skripty pro javascript, json, CSS a formátování HTML jsou součástí distribuce Bluefish.
Historie Bluefish začali vytvářet Chris Mazuc a Olivier Sessink v roce 1998 s cílem usnadnit vývoj webových aplikací na desktopových platformách Linux. V roce 1998 byl založen KDE 1.0, a v roce 1999 GNOME 1.0. Bluefish byl v té době jedním z mála editorů zaměřených na vývoj webových stránek v systému Linux. Linux, díky softwarovému balíčku LAMP, se stával nejoblíbenější platformou pro web hosting. Bluefish se tak rychle stal součástí hlavních Linuxových distribucí, jako Debian, Knoppix (v té době nejpopulárnější Linuxová platforma) a první verze Fedory. V raných verzích Linuxu patřil Bluefish k nejdůležitějším webovým editorem. Různé knihy o vývoji webových stránek v Linuxu se proto zabývají použitím Bluefish. Například Practical PHP and MySQL od komunitního manažera Ubuntu Jono Bacona, který dokonce zahrnoval upravené live CD Ubuntu s Bluefish jako přednastaveným editorem.
Vývoj Bluefish byl původně inspirován dvěma jinými editory: konfigurovatelné skenování a zvýrazňování syntaxe bylo inspirováno programem NEdit, ale uživatelské rozhraní bylo inspirováno programem Homesite, který byl k dispozici pouze pro Windows. V počátečních fázích vývoje aplikace se používal pracovní název Thtml editor, který však malá vývojářská komunita považovala za příliš tajemný; krátce se používal název Prosite, od kterého se však upustilo, aby se předešlo střetům s firmami zabývajícími se vývojem webových stránek, které již tento název používaly. Název Bluefish byl nakonec zvolen poté, co bylo v mailing listu navrženo logo (dětská kresba modré ryby).
Verze 1.0.x byla vydána v roce 2005 a obsahovala nové logo. Verze 1.0 byla představena na Slashdotu a způsobovala slashdot efekt na stránce Bluefish. V roce 2005 byla vydána verze 1.3 pro Winefish, LaTeXový editor. Vetze 2.0.x obsahovala velké změny, který měnil widget GTK-2 GtkTextView a nový syntaktický skenovací stroj založený na deterministickém konečném automatu. Verze 2.2.x, která je nyní aktuální, podporuje GTK-2 i GTK-3.
I když není Bluefish oficiální součástí Gnomu, je za její součást tento program často považován a dobře v Gnomu integruje.
Odkazy
Reference
Externí odkazy
Kategorie:Svobodný software v C Kategorie:Software pod licencí GPL Kategorie:Software používající GTK+ Kategorie:Svobodné textové editory Kategorie:HTML editory