Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

grunt-connect: serve files with base url added

I am developing jekyll-based site using grunt as my task manager. I am using grunt-contrib-connect to serve my files locally for development because of its livereload functionality. Those files are accessible in the browser at: http://localhost:8081/index.html

On my server, my files are located within a sub-directory, so have a base url prepended to all urls: http://path.to.server/mysite/index.html

I cannot figure out a way to simulate the base url on my local dev setup with grunt-connect. Without that, I don't know how to reference my css or js files without the urls being invalid on either the server or my dev box.

I know that jekyll's serve function can add a base url, but it does not give me the livereload functionality.

Any tips?

like image 310
abelnation Avatar asked Jan 09 '14 22:01

abelnation


1 Answers

If you use Grunt Jekyll to run the Jekyll build commands it has a raw option that lets you append things to your _config.yml. That way you can effectively remove {{ site.baseurl }} for local development

jekyll: {
    development: {
        options: {
            config: '_config.yml',
            raw: 'baseurl: '
        }
    },
    production: {
        options: {
            config: '_config.yml'
        }
    }
},
like image 86
Allan Hortle Avatar answered Nov 06 '22 15:11

Allan Hortle