Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
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
Comments
|
@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. |
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.
Ok I think I will try to get nginx or apache to serve things with the extension. Thanks for the heads up.
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). |
|
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.
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. |
|
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. |
|
I'll close this a week from now (May 29th) if there's no further activity. |
i3inary commentedNov 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.