Autor Zpráva
radekt
Profil
Dobrý den,
začal jsem testovat Grunt, v něm mimo jiné minifikaci obrázků. Jsou-li v jedné složce, daří se mi to tímto kódem, který jsem zkombinoval z různých zdrojů:

imagemin: {
  dist: {
    files: [{
      expand: true,
      cwd: 'projekt/img/',
      src: '**/*.{gif,GIF,jpg,JPG,png,PNG}',
      dest: 'projekt/img/'
    }]
  }
}

Ale co když jsou obrázky rozestrkané v mnoha různých složkách nestejných názvů? Lze se Gruntu dát "root" projektu, aby jej celý prohledal a kde narazí na obrázek, aby jej minifikoval?
Děkuji
Radek Tůma
Kcko
Profil
radekt:
Tak uprav cwd na root ... + v kombinaci s /**/ (což je rekurze) by to mělo fungovat.
radekt
Profil
Takhle?
cwd: 'projekt/**/',
dest: 'projekt/**/'
Kcko
Profil
radekt:
Podle mě jenom jako projekt nebo projekt/ ten zbytek uz mas dal v src.

Btw to používáš na WIN? Imagemin mi hlásil chybu kvůli nějaké chybějící knihovně, tak se jen ptám jestli se ti podařilo nainstaloval v pohodě?
radekt
Profil
Kcko:
s projekt/ to neměnilo obrázky v něm, ale ve jiné složce na stejné úrovni, nevím proč. Když jsem cwd i dest vynechal, zdá se, že to dělá co má. Ano, používám to na Win.
Strukturu mám
Složky:
projekt
projekt1
projekt2
...
na stejné úrovni mám gruntfile.js a package.json
Kcko
Profil
radekt:
Tak zkoumej, nastavování souborů a cest lze v Gruntu mnoha směry gruntjs.com/configuring-tasks
Případně se na to přes víkend podívám a vyzkouším u sebe.
radekt
Profil
Kcko:
Super, budu rád, když na to koukneš. Budu dál pátrat. Potřebuji variantu jak zasahovat jen např do projekt2, tak i zasahování do všech projektů. Díky moc.
Kcko
Profil
radekt:
OK mrknu jestli tenhle plugin rozběhnu, nefungoval mi. Stahoval jsi si něco jako Visual Studio nebo tak kvůli nadstardním knihovnám nebo tak? Mě v Gruntu fungují všechny obvyklé pluginy typu

concat
uglify
watch
.
.
.

ale tenhle zrovna ne.
radekt
Profil
Kcko:
Nestahoval jsem vůbec nic, po instalaci Node.js a Gruntu jsem všechny balíčky instaloval přes npm install. Jestli to pomůže - mám 64 bitové Windows 7 Professional SP1.
Kcko
Profil
radekt:
Vytvořil jsem Ti funkční ukázku.
radekt
Profil
Bomba. Funguje to jen na požadovaný projekt. A když budu chtít všechny projekty, vynechám cwd. Když k vynechám dest, minifikované obrázky se vygenerují tam, kde byly původní - to použiji na projekt, kde mám mraky obrázků. Mockrát díky! Koukám, že taky pracuješ v Praze. Máš u mně pivo.
Kcko
Profil
radekt:
A když budu chtít všechny projekty, vynechám cwd.
No buď, lépe spíše tak, že si napíšeš další task, kde CWD spíše nastavíš tak aby neodkazoval do konkrétního projektu, ale zůstal v rootu (tj na tom samém umístění jako je Gruntfile.js),
bude to asi ".", nebo jen "" ... nezkoušel jsem.

Když k vynechám dest, minifikované obrázky se vygenerují tam, kde byly původní - to použiji na projekt, kde mám mraky obrázků.
To se mi nejeví jako dobrý nápad, vždy si nechávej origo věci tam kde mají být a všecko co se nějak kompiluje (minifikuje, spojuje, upravuje se datová velikost etc) by se mělo vyčlenit do dalšího adresáře, standardně do "dist" (distribution)

Koukám, že taky pracuješ v Praze. Máš u mně pivo.
Není zač, piva netřeba, moc ho nepiju.

PS. Díval jsem se ještě na nějaké tvoje topicy, a zkus se místo Lessu podívat na Sass, resp. SCSS v kombinaci s Compassem. Každý kolem mě (vyjma kolegy) dělá v Lessu a já to do dneška nechápu ;-))), syntaxe ugly (mixiny, funkce, cykly ...), nic moc to neumí ... jak říkám, nechápu.
radekt
Profil
Kcko:
To přegenerování obrázků na stejném místě mě nadchlo právě proto, že mám jeden celkem rozsáhlý web a kdybych měl minifikované obrázky v extra složce, tak je pak musím ručně strkat tam, kam patří, což by byla děsná práce. Pochopitelně si udělám zálohu, než tu minifikaci pustím.

Less jsem si vybral na na základě článků na Vzhůru dolů. Ale díky za doporučení, podívám se na to.
Kcko
Profil
radekt:
s Martinem jsem už otevíral flame Sass vs Less ;-), nevím jestli jsi krom kodéra i programátor ... pak bych to pochopil, kdo je zvyklý na PHP tak je pro něj Sass sranda + ty nadstandardní věci co Less nemá.
radekt
Profil
Kodér. Z php poslední léta používám jen include a občas nějaké if, else. No, kdyby se ti někdy chtělo hodit řeč, když ne pivo, byl bych rád. Jako nadšený amatér - samouk bych s profíkem rád o těchto záležitostech promluvil.
Kcko
Profil
radekt:
Klidně si mě přidej na ICQ / Skypu , nějakou základní konzultaci Ti rád udělám.
radekt
Profil
Napíšu na e-mail. Díky.
Keeehi
Profil
Já bych jenom rád poznamenal, že mít společný gruntfile pro více projektů se mi tedy vůbec nelíbí. Vytváří to zbytečné závislosti. Vám to teď asi nevadí, protože pravděpodobně si to kompilujete ručně a na server to pak nahráváte soubor po souboru. Ovšem pokud v budoucnu to budete chtít z automatizovat, budete s tím mít pravděpodobně problémy.

Automatický deploy je skvělá věc. Moje momentalní nahrávání projektu na server vypadá tak, že na svém počítači procesu push di Gitu a tím to končí. Vše se automaticky nainstaluje. Ušetří to spoustu starostí a ve výsledku to může být i rychlejší, protože se přenášejí jen rozdíly oproti minulé verzi.

Vaše odpověď

Mohlo by se hodit

Pokuste se již v titulku uvést název programu související s tématem.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0