{"id":229980,"date":"2022-11-15T12:59:00","date_gmt":"2022-11-15T09:59:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229980"},"modified":"2022-11-09T19:34:04","modified_gmt":"2022-11-09T16:34:04","slug":"muutama-ruokapaketti-aloittelijoille","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/muutama-ruokapaketti-aloittelijoille\/","title":{"rendered":"Muutama ruokapaketti aloittelijoille"},"content":{"rendered":"\n<p>Ohjelmistot, kuten <a href=\"https:\/\/gulpjs.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Gulp<\/a> ja muut apuohjelmat, eiv\u00e4t ole uusia. Niille, jotka eiv\u00e4t ole k\u00e4ytt\u00e4neet niit\u00e4 aiemmin, voi olla hieman pelottavaa aloittaa (mutta sen ei todellakaan pit\u00e4isi olla).<\/p>\n<p>Verrattuna ty\u00f6kaluihin, kuten <a href=\"https:\/\/codekitapp.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">CodeKit<\/a> (josta <a href=\"https:\/\/tommcfarlin.com\/codekit-for-wordpress\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pid\u00e4n edelleen ja jota suosittelen<\/a> projektista riippuen), niill\u00e4 on hieman enemm\u00e4n kustannuksia niiden m\u00e4\u00e4ritt\u00e4misess\u00e4, m\u00e4\u00e4ritt\u00e4misess\u00e4 ja k\u00e4ytt\u00f6valmiudessa.<\/p>\n<p>Mutta kun olet saanut kaiken valmiiksi, se voi olla todella hy\u00f6dyllinen hajautetun tiimin kanssa k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4st\u00e4 riippumatta, ja se voi auttaa tekem\u00e4\u00e4n rakennusprosessistasi hieman vankemman.<\/p>\n<p>Se ei kuitenkaan ole postauksen tarkoitus. Sen sijaan t\u00e4ss\u00e4 on luettelo muutamasta paketista aloittelijoille.<\/p>\n<p>Ajattele niit\u00e4 n\u00e4in: Jos etsit tapoja ty\u00f6skennell\u00e4 <a href=\"http:\/\/sass-lang.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Sassin<\/a>, JavaScriptin ja kuvan optimoinnin kanssa, n\u00e4m\u00e4 ovat hyvi\u00e4 kirjastoja.<\/p>\n<h2>Gulp-paketit aloittelijoille<\/h2>\n<p>Ennen kuin siirryn jokaiseen seuraavista paketeista, haluan huomauttaa, ett\u00e4 on t\u00e4rke\u00e4\u00e4 lukea jokainen linkitetyist\u00e4 sivuista. Dokumentaatio auttaa tutustumaan kirjastojen tarjoamiin vaihtoehtoihin, joita antamani koodi ei n\u00e4yt\u00e4.<\/p>\n<p>Eli \u00e4l\u00e4 vain kopioi ja liit\u00e4 toimittamiani. K\u00e4yt\u00e4 sit\u00e4 l\u00e4ht\u00f6kohtana, mutta lue my\u00f6s dokumentaatio l\u00e4pi. Et ehk\u00e4 l\u00f6yd\u00e4 mit\u00e4\u00e4n uutta.<\/p>\n<p>Sitten taas saatat huomata, ett\u00e4 on olemassa vaihtoehtoja tietyn projektisi s\u00e4\u00e4t\u00e4miseen.<\/p>\n<h3>1 Sass<\/h3>\n<p>Voit halutessasi ty\u00f6skennell\u00e4 <a href=\"http:\/\/lesscss.org\/#\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Lessin<\/a> kanssa (en todellakaan ole t\u00e4\u00e4ll\u00e4 enk\u00e4 siell\u00e4), mutta minulla on tapana suosia Sassia. Siksi k\u00e4yt\u00e4n kirjastoa, <a href=\"https:\/\/www.npmjs.com\/package\/gulp-sass\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">gulp-sass<\/a>, erityisesti Sass-tiedostojen k\u00e4\u00e4nt\u00e4miseen CSS:ksi.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-165600-61e7845d0fda6.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-165600-61e7845d0fda6.png\" alt=\"Muutama ruokapaketti aloittelijoille\" ><\/a><\/p>\n<p>Minulla on tavallisesti <strong>omaisuushakemisto<\/strong>, ja siin\u00e4 on joitain alihakemistoja <strong>kuville<\/strong>, <strong>tyyleille<\/strong> ja <strong>skripteille<\/strong>.<\/p>\n<p>Tyylihakemistossa\u00a0 minulla on kaksi <strong>alihakemistoa<\/strong> :<\/p>\n<ol>\n<li><strong>scss<\/strong><\/li>\n<li><strong>css<\/strong><\/li>\n<\/ol>\n<p>S\u00e4ilyt\u00e4n kaikki SCSS-tiedostoni vastaavassa hakemistossa ja k\u00e4yt\u00e4n gulp-sass-toimintoa k\u00e4\u00e4nt\u00e4en tiedostot <a href=\"https:\/\/gist.github.com\/tommcfarlin\/8f2d3146cba5c565ad1e5d51e09a221c#file-00-gulp-sass-js\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">CSS:\u00e4\u00e4n<\/a>.<\/p>\n<pre><code>gulp.task('sass', function(){\n  return gulp.src('assets\/styles\/scss\/*.scss')\n    .pipe(sass())\n    .pipe(gulp.dest('assets\/styles\/css'))\n});<\/code><\/pre>\n<p>Sielt\u00e4 lis\u00e4\u00e4n CSS-tiedostot jonoon k\u00e4ytt\u00e4m\u00e4ll\u00e4 <a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Action_Reference\/wp_enqueue_scripts\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tarvittavaa WordPress API -toimintoa<\/a>.<\/p>\n<h3>2 JavaScript-pienennys<\/h3>\n<p>T\u00e4ss\u00e4 vaiheessa JavaScript-tiedostojen pienent\u00e4misen edut on todistettu yh\u00e4 uudelleen ja uudelleen, joten en aio k\u00e4sitell\u00e4 asiaa sen enemp\u00e4\u00e4.<\/p>\n<p>Olen kokeillut joitakin paketteja, jotka liittyv\u00e4t JavaScriptin minifiointiin, ja <a href=\"https:\/\/www.npmjs.com\/package\/gulp-uglify\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">gulp-uglify<\/a> on se, jonka k\u00e4ytt\u00e4misest\u00e4 pid\u00e4n eniten.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-165600-61e7846105cbe.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-165600-61e7846105cbe.png\" alt=\"Muutama ruokapaketti aloittelijoille\" ><\/a><\/p>\n<p>Muista edellisest\u00e4 osiosta, ett\u00e4 minulla on <strong>omaisuushakemistoni<\/strong> ja siin\u00e4 minulla on <strong>komentosarja<\/strong> &#8211; alihakemistoni. T\u00e4m\u00e4 hakemisto sis\u00e4lt\u00e4\u00e4 yhden oman alihakemistonsa: <strong>dev.<\/strong><\/p>\n<p>Otan JavaScript-tiedostot, jotka sijaitsevat <strong>dev<\/strong> :ss\u00e4 ja <a href=\"https:\/\/gist.github.com\/tommcfarlin\/8f2d3146cba5c565ad1e5d51e09a221c#file-01-gulp-uglify-js\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tulostan ne<\/a> <strong>komentosarjahakemiston<\/strong> juureen .<\/p>\n<pre><code>gulp.task('minify-js', function() {\n  return gulp.src('assets\/scripts\/dev\/*.js')\n    .pipe(uglify())\n    .pipe(gulp.dest('assets\/scripts'));\n});<\/code><\/pre>\n<p>Sielt\u00e4, kuten teen yll\u00e4, laitan ne jonoon k\u00e4ytt\u00e4m\u00e4ll\u00e4 samaa <a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Action_Reference\/wp_enqueue_scripts\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress API -toimintoa<\/a>.<\/p>\n<h3>3 Kuvan optimointi<\/h3>\n<p>Lopuksi yksi asia, joka voi auttaa varmistamaan, ett\u00e4 sivusi latautuvat nopeasti, on varmistaa, ett\u00e4 kuvasis\u00e4lt\u00f6si on optimoitu.<\/p>\n<p>Tietysti on joitain ty\u00f6kaluja, joita voit k\u00e4ytt\u00e4\u00e4 manuaalisesti, mutta jos huomaat lis\u00e4\u00e4v\u00e4si, muuttavasi tai muokkaavasi kuvasis\u00e4lt\u00f6j\u00e4 usein ja haluat automatisoida optimoinnin koontiprosessin, suosittelen k\u00e4ytt\u00e4m\u00e4\u00e4n <a href=\"https:\/\/www.npmjs.com\/package\/gulp-imagemin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">gulp-imagemin -ohjelmaa<\/a>.<\/p>\n<p>[kuva]<\/p>\n<p>T\u00e4ss\u00e4 tietyss\u00e4 kirjastossa on joitain riippuvuuksia, joten sinun on varmistettava, ett\u00e4 ne ovat my\u00f6s mukana. N\u00e4m\u00e4 sis\u00e4lt\u00e4v\u00e4t<\/p>\n<ul>\n<li>kuva-gifsicle,<\/li>\n<li>imagein-jpegtran,<\/li>\n<li>kuvan valinta,<\/li>\n<li>imagein-svgo.<\/li>\n<\/ul>\n<p>Ne voidaan lis\u00e4t\u00e4 manuaalisesti asetustiedostoihisi, asentaa komentorivin kautta tai muuten. Varmista kuitenkin, ett\u00e4 sinulla on ne, ennen kuin yrit\u00e4t <a href=\"https:\/\/gist.github.com\/tommcfarlin\/8f2d3146cba5c565ad1e5d51e09a221c#file-02-gulp-image-optimization-js\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">optimoida kuviasi<\/a>.<\/p>\n<pre><code>gulp.task('image-optimization', function() {\n    return gulp.src('assets\/images\/*')\n      .pipe(imagemin())\n      .pipe(gulp.dest('assets\/images'))\n  }\n);<\/code><\/pre>\n<p>Huomaa yll\u00e4 olevasta koodista (ja siit\u00e4, mit\u00e4 olen maininnut aiemmin), ett\u00e4 <strong>kuvahakemistoni<\/strong> sijaitsee <strong>resursseissa<\/strong>, joten kun suoritan yll\u00e4 mainitun teht\u00e4v\u00e4n, se optimoi kaikki tuetut kuvatyypit kyseisess\u00e4 paikassa.<\/p>\n<h2>Pakettitiedostot, Gulp-tiedostot ja kaikki?<\/h2>\n<p>Jos olet uusi Gulp-, <a href=\"https:\/\/nodejs.org\/en\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Node-<\/a> tai muiden rakennusj\u00e4rjestelmien k\u00e4yt\u00f6ss\u00e4, Noden ja Gulpin asentamisessa ja m\u00e4\u00e4ritt\u00e4misess\u00e4 on viel\u00e4 v\u00e4h\u00e4n muutakin k\u00e4sitelt\u00e4v\u00e4\u00e4.<\/p>\n<p>Olen p\u00e4\u00e4tt\u00e4nyt j\u00e4tt\u00e4\u00e4 sen v\u00e4liin toistaiseksi, koska aiheesta on paljon dokumentaatiota, mutta ehk\u00e4 katson, mit\u00e4 k\u00e4yt\u00e4mme aina, kun sis\u00e4llyt\u00e4mme t\u00e4m\u00e4n projekteihimme.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 on muutamia Gulp-paketteja aloittelijoille, erityisesti jos etsit helppoja tapoja ty\u00f6skennell\u00e4 Sassin, JavaScriptin ja kuvan optimoinnin kanssa.<\/p>\n","protected":false},"author":1,"featured_media":224999,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[730,895,843,803],"tags":[1166],"class_list":["post-229980","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript-5","category-koodi","category-opetusohjelmia","category-php-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/229980","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=229980"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/229980\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/224999"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=229980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=229980"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=229980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}