{"id":18372410,"url":"https://github.com/biko2/gulp-tasks-soda","last_synced_at":"2026-04-12T23:44:02.095Z","repository":{"id":57259204,"uuid":"311945526","full_name":"biko2/gulp-tasks-soda","owner":"biko2","description":null,"archived":false,"fork":false,"pushed_at":"2020-11-12T09:35:18.000Z","size":292,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-10T23:55:44.725Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/biko2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-11T11:07:00.000Z","updated_at":"2020-11-12T09:35:20.000Z","dependencies_parsed_at":"2022-08-25T04:50:23.989Z","dependency_job_id":null,"html_url":"https://github.com/biko2/gulp-tasks-soda","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biko2%2Fgulp-tasks-soda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biko2%2Fgulp-tasks-soda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biko2%2Fgulp-tasks-soda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biko2%2Fgulp-tasks-soda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/biko2","download_url":"https://codeload.github.com/biko2/gulp-tasks-soda/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248317699,"owners_count":21083528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T00:05:37.934Z","updated_at":"2025-10-18T04:31:20.086Z","avatar_url":"https://github.com/biko2.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GULP TASKS for Drupal __soda__ theme\n![by Biko2](https://raw.githubusercontent.com/biko2/biko-repo-bagdes/master/png/biko-bagge-pill.png)\n![GitHub last commit](https://img.shields.io/github/last-commit/biko2/gulp-tasks-soda.svg?style=plastic)\n![npm](https://img.shields.io/npm/v/gulp-tasks-soda.svg)\n![Maintenance](https://img.shields.io/maintenance/yes/2020.svg)\n\n\n\n## Install\n```\nnpm install gulp-tasks-soda --save\n```\n\n## Tasks\n\n## Default paths\n```javascript\nvar paths = {\n    styles: {\n      source: 'src/templates/',\n      destination: 'assets/css/'\n    },\n    scripts: {\n      source: 'src/templates/',\n      destination: 'assets/js',\n\n    },\n    scriptsVendorFiles: [\n      'node_modules/bootstrap/dist/js/bootstrap.js',\n    ],\n    images: {\n      source: 'src/media/images/',\n      destination: 'assets/images/'\n    },\n    fonts: {\n      source: 'src/fonts/',\n      destination: 'assets/fonts/'\n    },\n    styleGuide: 'styleguide',\n    twigPages: {\n      src: 'src/templates/' ,\n      componentsSrc: 'src/templates/01-components/' ,\n      componentBlocksSrc: 'src/templates/02-component-blocks/' ,\n      pagesSrc: 'src/templates/03-pages/' ,\n      destination: 'assets/pages/',\n      componentsDestination:'assets/pages/01-components',\n      componentBlocksDestination:'assets/pages/02-component-blocks',\n      pagesDestination:'assets/pages/03-pages',\n      componentTemplateSrc: 'src/templates/component-template.twig',\n      componentBlockTemplateSrc: 'src/templates/component-block-template.twig'\n    },\n    svg : {\n      source: 'src/media/svgs',\n      destination: 'assets/svg',\n      prefix: {\n        dev: '',\n        pro: '/svg/sprite'\n      }\n    }\n  };\n\n```\n\n## Default options\n```javascript\nvar options = {\n    drupalLibraries: {\n      destination:'./generated.libraries.yml'\n    },\n    // ----- Browsersync ----- //\n    browserSync: {\n      server: {baseDir: ['assets']},\n      startPath: \"/pages\",\n      port: 3005,\n      online: false,\n\n      open: true,\n      logConnections: true,\n    },\n\n    // ----- CSS ----- //\n\n    css: {\n      files: path.join(paths.styles.destination, '**/*.css'),\n      file: path.join(paths.styles.destination, '/styles.css'),\n      destination: path.join(paths.styles.destination)\n    },\n\n    // ----- Sass ----- //\n\n    sass: {\n      files: path.join(paths.styles.source, '/**/*.scss'),\n      file: path.join(paths.styles.source, 'styles.scss'),\n      destination: path.join(paths.styles.destination),\n      AUTOPREFIXER_BROWSERS: [\n        'ie \u003e= 10',\n        'ie_mob \u003e= 10',\n        'ff \u003e= 30',\n        'chrome \u003e= 34',\n        'safari \u003e= 9',\n        'opera \u003e= 23',\n        'ios \u003e= 8',\n        'android \u003e= 4.4',\n        'bb \u003e= 10'\n      ]\n    },\n\n    // ----- JS ----- //\n    js: {\n      files: path.join(paths.scripts.source, '**/*.js'),\n      compiledFiles: path.join(paths.scripts.destination, '**/*.js'),\n      vendorFiles: paths.scriptsVendorFiles,\n      destination: path.join(paths.scripts.destination),\n      vendorDestination: path.join(paths.scripts.destination,'vendors')\n    },\n\n    // ----- eslint ----- //\n    jsLinting: {\n      files: {\n        theme: [\n          paths.scripts.source + '**/*.js',\n          '!' + paths.scripts.source + '**/*.min.js'\n        ],\n        gulp: [\n          'gulpfile.js',\n          'gulp-tasks/**/*'\n        ]\n      }\n\n    },\n    // ----- Fonts ----- //\n    fonts: {\n      files: paths.fonts.source + '**/*.{ttf,woff,otf,eot,svg,woff2}',\n      destination: paths.fonts.destination\n    },\n    // ----- Images ----- //\n    images: {\n      files: paths.images.source + '**/*.{png,gif,jpg,svg,xml,webmanifest}',\n      destination: paths.images.destination\n    },\n    // ----- TWIG pages ---- //\n    twigPages: {\n      baseSrc: path.join(paths.twigPages.src),\n      src: path.join(paths.twigPages.src, '/*.twig'),\n      componentsSrc: path.join(paths.twigPages.componentsSrc, '/**/*.twig'),\n      componentBlocksSrc: path.join(paths.twigPages.componentBlocksSrc, '/**/*.twig'),\n      pagesSrc: path.join(paths.twigPages.pagesSrc, '/**/*.twig'),\n      allSrc: path.join(paths.twigPages.src, '/**/*'), //Needed for watch task\n      destination: path.join(paths.twigPages.destination),\n      componentsDestination: path.join(paths.twigPages.componentsDestination),\n      componentBlocksDestination: path.join(paths.twigPages.componentBlocksDestination),\n      pagesDestination: path.join(paths.twigPages.pagesDestination),\n      componentTemplateSrc: path.join(paths.twigPages.componentTemplateSrc),\n      componentBlockTemplateSrc: path.join(paths.twigPages.componentBlockTemplateSrc)\n    },\n\n    svg: {\n      files: path.join(paths.svg.source, '**/*.svg'),\n      destination: path.join(paths.svg.destination),\n      mode: {\n        symbol: { // symbol mode to build the SVG\n          render: {\n            css: true, // CSS output option for icon sizing\n            scss: true // SCSS output option for icon sizing\n          },\n          dest: 'sprite', // destination folder\n          prefix: '.svg--%s', // BEM-style prefix if styles rendered\n          sprite: 'sprite.svg', //generated sprite name\n          example: true // Build a sample page, please!\n        }\n      },\n      prefix: paths.svg.prefix\n    },\n\n  }\n\n```\n## Example `gulpfile.js` for a `Drupal theme`\n\n```javascript\n\nvar customPaths = {};\nvar customOptions = {};\n\nvar gulp = require('gulp');\nvar fs = require('fs');\n\nif (fs.existsSync('./gulpfile.custom.paths.js')) {\n  customPaths = require('./gulpfile.custom.paths.js');\n}\nif (fs.existsSync('./gulpfile.custom.options.js')) {\n  customOptions = require('./gulpfile.custom.options.js');\n}\n\nrequire('gulp-tasks-soda')(gulp,customPaths,customOptions);\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbiko2%2Fgulp-tasks-soda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbiko2%2Fgulp-tasks-soda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbiko2%2Fgulp-tasks-soda/lists"}