๐Ÿ“ฆ johnleider / diablo-app

๐Ÿ“„ gulpfile.js ยท 50 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50var elixir = require('laravel-elixir');
require('laravel-elixir-vueify');

var resources = 'resources/assets/'
    , modules = 'node_modules/'
    , sm = require('sitemap')
    , fs = require('fs');

elixir(function(mix) {
    // Scss
    mix.sass('app.scss')

    // Misc
    .copy(resources + 'img', 'public/img')
    .copy(modules + 'font-awesome/fonts', 'public/fonts')

    // Browserify
    .browserify('app.js', resources + 'build/js/app.js')

    // Scripts
    .scripts([
        modules + 'jquery/dist/jquery.min.js',
        modules + 'tether/dist/js/tether.min.js',
        modules + 'bootstrap/dist/js/bootstrap.min.js',
        resources + 'build/js/app.js'
    ], 'public/js/app.js', './')

    // JS libs
    .scripts([
        'libs/d3tooltip.js'
    ], 'public/js/libs.js')

    // Browsersync
    .browserSync({open: false, proxy: 'hs.diablo.dev'})

    .version(['css/app.css', 'js/app.js']);

    sitemap = sm.createSitemap({
        hostname: 'http://diablorankings.net',
        cacheTime: 6000000,
        urls: [
            { url: '/', changefreq: 'daily', priority: 1 },
            { url: '/leaderboards', changefreq: 'weekly', priority: .3 },
            { url: 'profiles', changefreq: 'monthly', priority: .3 },
            { url: 'heroes', changefreq: 'monthly', priority: .3 },
        ]
    });

    fs.writeFileSync('public/sitemap.xml', sitemap.toString());
});