adrinux / HuMC

Help for building & managing sites with Hugo - see Readme below.
MIT License
15 stars 2 forks source link

Meta: Usage and workflow, multisite and keeping sites up to date. #41

Open adrinux opened 8 years ago

adrinux commented 8 years ago

As originally conceived web-starter-hugo was intended as a base for a yeoman generator. Thus the workflow would have been to create a new instance of web-starter-hugo for each project.

Whilst this workflow is ok when the generated projects are passed onto a third party and never seen again its less desirable for long term maintenance and updating of projects. It forces repetitive updating of multiple sites and can allow drift to occur between local project specific npm modules and globally installed ones.

Ideally one instance of web-starter-hugo could contain multiple sites so that updating normalize.css or autoprefixer via npm would result in regenerated css for all sites.

Issues:

Solutions:

adrinux commented 7 years ago

Hugo already has support for multiple sites run from one install, this comment details several: https://discuss.gohugo.io/t/hugo-multisite-workflow/103/8

'Super static site starter' takes a multisite approach (but now doesn't use Gulp) https://github.com/dkebler/4S/tree/working-020

adrinux commented 5 years ago

How do the new postcss and js processing pipes in Hugo fit with multisite? If the node modules have to be installed per theme, that's a lot of duplication...

Edit: May be possible to symlink node_modules

adrinux commented 5 years ago

Relevant hugo config/cli file options:

contentDir
-d or --destination <- wsh uses this for dev/stage/live env
assetDir <- assets to be processed by hugo pipes
themesDir <- can have a single top-level themes dir, but would we still need 
                     node_modules per theme for pipes?  Might be able to symlink
                     a top level node_modules into required theme folders
--config = path to config file
--source = filesystem path to read files relative from