The official git repository for the Colonel By Library website.
###Table of Contents
This project is licensed under a zlib style license. You can find a copy of the terms in the COPYING
file.
To ready your system for running the web-server, you are required to install the following dependencies.
- nodejs - the webserver is based on the node runtime engine for its modern features and scalability. You also need the
npm
executable. Make sure to append to PATH after installation. (NOTE: Linux users, check your vendor's repository for the most supported version. You might also need to getnpm
seperately)
After installing the above, you need to install the node-specific dependencies. For this part, you need to make sure you have appended to PATH. Execute the following in the root directory of this repository.
npm i
If you are on Linux, you might have to execute:
sudo npm i
This command installs all the node dependencies in a new folder called node_modules
.
After you have installed all the dependencies including the node-specific ones, continue with the following. You will have to use the node
command so make sure it is appended to PATH.
NOTE: Linux users, sometimes the node
command does not exist, in this case you will have to use nodejs
instead. However if you wish to use simply node
. You can do the following:
sudo ln -s /usr/bin/nodejs /usr/bin/node
-
Open a command prompt or terminal at the root directory of the repository and execute:
node task/serve
It should say that it is listening on port
80
. Now go to your browser and go tolocalhost/teachers/library/
. If you are unsuccessful go to the next step. (NOTE: Linux users, you might need to usesudo
). -
Firstly make sure all the dependencies installed correctly. If not you can try to host at a different port. You can do so like:
node task/serve <port>
<port>
just represents a port number, choose one that is not80
and try again. However this time you will have to specify the port in the URL. Trylocalhost:<port>/teachers/library/
where<port>
is the number you used. If you are still unsuccessful, seek assistance from the interwebs (namely stackoverflow) or someone who knows about this stuff (or try to figure it out yourself).
-
Open a command prompt or terminal at the root directory of the repository and execute:
node task/deploy
If this completes successfully, then you will find a folder called
deploy
in the root folder. This folder is a clone of thepublic
folder where allhtml
,css
, andjs
files are minified. -
Now you can create a server for the deployed version by executing:
node task/serve-deploy
This task follows behaves the same way as
task/serve
so check out the section in Usage on how to use it to its full extent or if you are having problems with it.
To make contributions, firstly fork this repository. There is a fork button somewhere on the GitHub repository page. You will see that there is a copy of this repository under your own GitHub account. Do stuff there, all the usual stuff like bug fixes or improvements. Then send a pull request and someone will review the code and merge it.
To change the main user styles, open less/main.less.css
and make the appropriate changes. Then in the root folder, execute:
node task/css
You can even change the entire Bootstrap theme! To do this, experiment with the usage of task/themec
.
Make sure you also include your name information in both package.json
and CONTRIBUTORS
.
Somewhere on the GitHub repository page, you will find a link to Issues
. Click it, it's safe, I promise. Report anything that you feel is an issue: namely to report bugs and suggest improvements.
This section will provide a reference to important file types and extensions in no particular order.
- .js - Javascript file (nodejs as well as client-side scripting)
- .css - Cascading Style Sheets for custom styling
- .less[.css] - CSS pre-processor to generate bulky CSS while still being easy to configure
- .json - Javascript Object Notation file, used to store configurations or data
- .md - Markdown file (like this file)
- .gitkeep - Placeholder file because git ignores empty directories
- .gitignore - Specifies what is ignored by git (can be overridden in subdirectories)
- .html - Hyper Text Markup Language file
- .jp[e]g, .png, .gif, .svg, .ico - Image files
- .eot[@], .svg, .ttf, .otf, .woff- Font files
- .zip - ZIP archive
- .psd - Adobe Photoshop file
- .txt - Plain Text file
NOTE: Linux user, Linux programs usually automatically make themselves accessible from the terminal. Only continue reading if you face a problem with executing. You should not append to PATH on Linux but simply create a symbolic link (or symlink). Read more at the links provided below.
To append to PATH
means being able to access all executables from the directory that is to be appended from the command line without having to specify the location of the executable.
For example if you want to add node.exe
on Windows, navigate to the directory where the executable is installed and copy the path of the directory to your clipboard (NOTE: if the path is C:\Program Files\nodejs\node.exe
, only copy C:\Program Files\nodejs\
). On Windows you can append to PATH
from the command line.
setx PATH "%PATH%;C:\Program Files\nodejs\"
The newly set PATH
will only take affect on newly opened command prompt. So the current command prompt will need to be closed and reopened.
Often, the executables of a program might be placed in a subdirectory named bin
.
You can read more: