I am using git page to make a github website. I am using academicpages/academicpages.github.io. I forked this repo to my gitpage repo, and edited the pages in the /_pages folder. But when I build the site with jekyll, I get the following:
Jekyll Feed: Generating feed for posts
Build Warning: Layout 'single' requested in pages/about.md does not exist.
Build Warning: Layout 'archive' requested in pages/dissertation.md does not exist.
Build Warning: Layout 'archive' requested in pages/research.md does not exist.
Build Warning: Layout 'archive' requested in pages/software does not exist.
Build Warning: Layout 'archive' requested in pages/teaching.md does not exist.
I am not following this because, in the git repo I made I have the layouts in the _layouts folder. archive.html and single.html are all in there.
Then what could be causing the problem?
One question though would be, should I have all these files in the git website folder on my hard drive? Since I forked the theme repo, the files are all on my git repo, and I don't have the layout files on my hard drive.
From the documentation within https://github.com/academicpages/academicpages.github.io
To run locally (not on GitHub Pages, to serve on your own computer)
Clone the repository and made updates as detailed above
Make sure you have ruby-dev, bundler, and nodejs installed: sudo apt install ruby-dev ruby-bundler nodejs
Run bundle clean to clean up the directory (no need to run --force)
Run bundle install to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.
Run bundle exec jekyll liveserve to generate the HTML and serve it from localhost:4000 the local server will automatically rebuild and refresh the pages on change.
So, yes, basically you clone the repo to have all files on your harddisk, then dependencies are installed and finally you start your site locally using jekyll serve or jekyll serve -i.
Related
I'm building a component library for a react-native app.
I've got a repo for the library which is hosted on the github registry when published.
I've got another repo for the RN app.
When publishing a new version of the library, I compile the relevant files toward a ./lib folder and then deploy it to the npm.pkg.github.com registry.
Everything looks fine since the .tgz file contains the correct files.
However, back on the react-native app, installing the library seems to clone the full repo instead of uploading the hosted .tgz file.
How can I fix this behaviour?
Am trying to download node_modules from github inorder to install it in an offline machine,
What i did was just froked a repository and deleted the .gitignore file and tried downoad the zip file again,but still not getting node modules
Is it possible to download ignored folders from github?
No. The node_modules folder, as it is ignored, is not even saved in git. There's nothing you can do to download it with the rest of the repository, just run npm install or yarn. As the machine in question isn't connected, you'll naturally have to do this on an internet-connected machine.
I continue to have failed builds with ReadTheDocs using a github repository with Jupyter notebooks rendered using sphinx and the readthedocs theme. I am able to render these locally, however when I try with RTD, I get the following fail message:
I tried placing the nbsphinx.py file in the repository but things still fail. Link to RTD is here:
https://readthedocs.org/projects/calculus-notes/
Github repo is here:
https://github.com/jfkoehler/calc_docs
RTD needs to install nbsphinx. To tell RTD to install packages, you must:
From RTD FAQ, My project isn’t building with autodoc:
enable the virtualenv feature in the Admin page of your project, which will install your project into a virtualenv, and allow you to specify a requirements.txt file for your project.
Create requirements.txt in your repo and add nbsphinx to its contents. See https://github.com/spatialaudio/nbsphinx/blob/0.2.14/doc/requirements.txt#L2
After you commit and push item 2 to your repo, then RTD should install nbsphinx and be able to build your docs successfully, or at least proceed to the next failure if there is one.
When we do "yo webapp" (assuming webapp generator is installed), it scaffold projects which contains file relevant to bower, grunt and then there is app folder, which we all know what's it about.
My question is, out of this structure what are the files that needs to be maintained in SCM, Should it be only app directory or should it whole structure ?(assuming there are no additional grunt task or any build file changes from earlier scaffolding)
Yeoman webapp generator will produce a .gitignore file which includes files that should not be committed to a SCM. This file includes the following directories:
node_modules
dist
.tmp
.sass-cache
bower_components
test/bower_components
It is clear that .tmp and .sass-cache have no reason to be in the repo as they both are only temporary.
There is however a discussion whether bower (and rarely node) dependencies should be checked in. For most projects I recommend not to.
Please note that in either case one should never change the packages directly in the bower_components or node_modules folder as any change will be lost at next bower install or npm install. A fork of the original project (either as a independent repo or to folder in the project - e.g. lib) is a better idea - a follow up pull request would then add a lot of karma :)
The dist folder with the build of the application may be committed depending on your deployment method. There is a very good guide on deployment on Yeoman site.
As a start, you should put everything into SCM with the exception of app/bower_components, test/bower_components and node_modules. All files under these directories come from public repo, either node or bower repo.
In this setup, whenever another developer checkout from SCM, he needs to run 2 commands: npm install and bower install. What I typically do is I create a file called install.sh (install.bat on Windows) and have these 2 commands inside this script file. In this way, when you find that you need to run more commands for initialization, you can easily add to this script file and new developers can just checkout and run install.sh.
In some cases, I found that I need to perform small modification to a public library. In this case, I will check this library inside bower_components into SCM as well. This is not common, but it happens.
I started today working with gamejs for a small project. I saw that most project are repository files on github dot com, so I downloaded the github for windows and the git bash.
Then I used git bash to clone gamejs repository. I proceed the same with some repository stuff. However, it seems that I forget to install something... because I cannot start the server, I have gjs-server.sh or .cmd missing. The bash doesnt recognize the command. What will I do?
Since you cloned the code instead of downloading the release tarball you need to build GameJS first:
Change into the GameJs directory
cd gamejs
Get all needed submodules with git:
git submodule init git submodule update
Compile RingoJs:
ant -f ./server/ringojs/build.xml jar
EDIT: Prior to building you need to install Apache Ant build tool. Since it is a Java application to install it just download the binary distribution from their download page and unzip it.