Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Vagrant VM for a Consistent and Optimized Development Environment #653

Closed
i3inary opened this Issue Nov 20, 2014 · 5 comments

Comments

Projects
None yet
4 participants
Contributor

i3inary commented Nov 20, 2014

I would like to suggest my project (https://github.com/i3inary/bitcoin.org-vagrant-jekyll-box
) to use to make sure new web devs don't have to spend days trying to get Jekyll working like I did. My intentions were to contribute it to the project and reduce the barrier to entry for other web devs having trouble running or not familiar with Jekyll. I myself had loads of issues getting this working on my local env and gave up and went with a virtual machine.

On a side note I would love to get this thing adding the .html extensions for the webserver and also get the compiling to only detect changes...this just will not work for me. Any suggestions would be awesome and I will update the project.

Contributor

saivann commented Nov 23, 2014

@i3inary Thanks for all the effort you've spent on this.

By reading your README, it seems to me you're using Mac OS X? In general, before introducing new dependencies, IMO, it would be interesting to see what are the actual issues you've been dealing with so we may fix them, and provide better instructions for Mac OS X users. Setting up a VM is not a small extra step, and virtualization usually comes with performance issues.

Re adding the .html extension: This would be nice. I've searched quite a lot to fix this too in the past but it seemed like the built-in little jekyll server won't make it possible (unless if patched). Of course if you could prove me wrong, I'd be very happy, but I think you risk wasting a lot of your time, a separate server is needed to avoid typing ".html" by hand in the browser.

Re detecting changes: Unfortunately, I don't see how the project could only detect and build changes. The output folder is entirely replaced when building and various changes in the files may apply in various parts of the website. For example editing the CSS files will update the name of the CSS file in all pages, so reusing previously generated pages will introduce bugs.

Contributor

i3inary commented Nov 23, 2014

By reading your README, it seems to me you're using Mac OS X? In general, before introducing new dependencies, IMO, it would be interesting to see what are the actual issues you've been dealing with so we may fix them, and provide better instructions for Mac OS X users. Setting up a VM is not a small extra step, and virtualization usually comes with performance issues.

Correct I am using OSX but instead of wasting your time with environmental bugs I think this link is a good explanation as to why any project with many contributors might want to take advantage of Vagrant https://docs.vagrantup.com/v2/why-vagrant/.

In the end this bitcoin.org project is kind of about website code and its content not necessarily getting server packages to work on every devs custom environment. IMO the only environment this project really should be concerned about troubleshooting is the production environment that the live site runs on.

Re adding the .html extension: This would be nice. I've searched quite a lot to fix this too in the past but it seemed like the built-in little jekyll server won't make it possible (unless if patched). Of course if you could prove me wrong, I'd be very happy, but I think you risk wasting a lot of your time, a separate server is needed to avoid typing ".html" by hand in the browser.

Ok I think I will try to get nginx or apache to serve things with the extension. Thanks for the heads up.

Re detecting changes: Unfortunately, I don't see how the project could only detect and build changes. The output folder is entirely replaced when building and various changes in the files may apply in various parts of the website. For example editing the CSS files will update the name of the CSS file in all pages, so reusing previously generated pages will introduce bugs.

This is the first time I have worked with Jekyll but if I was to guess I would think there should be a way (plugin?) to get Jekyll to use git to detect exactly which files have been modified in the repo and only generate those and their dependencies...Like I said I am new to Jekyll but it seems just really inefficient to regenerate everything when only a few characters may have changed and then wait 4-5 minutes for it to generate the _site folder (even with extra languages turned off).

Contributor

saivann commented Nov 23, 2014

Will read about vagrant, but although I am not an expert, using ruby and bundler is supposed to fit this purpose when it comes to interoperability and dependencies.

Like I said I am new to Jekyll but it seems just really inefficient to regenerate everything when only a few characters may have changed and then wait 4-5 minutes for it to generate the _site folder (even with extra languages turned off).

With no plugins and languages enabled, it builds within 18 seconds here. I really don't know how what you're suggesting would be possible since jekyll cannot predict what files are going to be modified by each plugin, layout, template, etc.

Contributor

wbnns commented May 22, 2015

Perhaps we can close this issue. It has been idle for a while, and even if we were using a virtualized environment, there is still a chance that due to different levels of experience potential contributors could have difficulties setting up and using that correctly the first time, too.

Contributor

harding commented May 22, 2015

I'll close this a week from now (May 29th) if there's no further activity.

@harding harding closed this Jun 1, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment