diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e750ed0..0000000 --- a/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: bash -sudo: false - -after-script: - chmod a+x backup.sh diff --git a/CONTRIBUTIONS.md b/CONTRIBUTIONS.md deleted file mode 100644 index c38e735..0000000 --- a/CONTRIBUTIONS.md +++ /dev/null @@ -1,77 +0,0 @@ -# Contributor Covenant Code of Conduct -## Our Pledge -In the interest of fostering an open and -welcoming environment, we as contributors and -maintainers pledge to making participation in our -project and our community a harassment-free -experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and -expression, level of experience, nationality, -personal appearance, race, religion, or sexual -identity and orientation. -## Our Standards -Examples of behavior that contributes to creating -a positive environment include: * Using welcoming -and inclusive language * Being respectful of -differing viewpoints and experiences * Gracefully -accepting constructive criticism * Focusing on -what is best for the community * Showing empathy -towards other community members Examples of -unacceptable behavior by participants include: * -The use of sexualized language or imagery and -unwelcome sexual attention or advances * -Trolling, insulting/derogatory comments, and -personal or political attacks * Public or private -harassment * Publishing others' private -information, such as a physical or electronic - address, without explicit permission * Other -conduct which could reasonably be considered -inappropriate in a - professional setting -## Our Responsibilities -Project maintainers are responsible for -clarifying the standards of acceptable behavior -and are expected to take appropriate and fair -corrective action in response to any instances of -unacceptable behavior. Project maintainers have -the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, -issues, and other contributions that are not -aligned to this Code of Conduct, or to ban -temporarily or permanently any contributor for -other behaviors that they deem inappropriate, -threatening, offensive, or harmful. -## Scope -This Code of Conduct applies both within project -spaces and in public spaces when an individual is -representing the project or its community. -Examples of representing a project or community -include using an official project e-mail address, -posting via an official social media account, or -acting as an appointed representative at an -online or offline event. Representation of a -project may be further defined and clarified by -project maintainers. -## Enforcement -Instances of abusive, harassing, or otherwise -unacceptable behavior may be reported by -contacting the project team at [INSERT EMAIL -ADDRESS]. All complaints will be reviewed and -investigated and will result in a response that -is deemed necessary and appropriate to the -circumstances. The project team is obligated to -maintain confidentiality with regard to the -reporter of an incident. Further details of -specific enforcement policies may be posted -separately. Project maintainers who do not follow -or enforce the Code of Conduct in good faith may -face temporary or permanent repercussions as -determined by other members of the project's -leadership. -## Attribution -This Code of Conduct is adapted from the -[Contributor Covenant][homepage], version 1.4, -available at -[http://contributor-covenant.org/version/1/4][version] -[homepage]: http://contributor-covenant.org -[version]: http://contributor- diff --git a/LICENSE b/LICENSE deleted file mode 100644 index c69531a..0000000 --- a/LICENSE +++ /dev/null @@ -1,5 +0,0 @@ -The MIT License (MIT) Copyright - -(c) 2015 Christopher Brightly [cbrightly] - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index 09e70eb..1e8a8a8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -Things are changing here... -==================== -You're probably looking for the [wiki page] [src] --------------------- -[src]: ../..//wiki/ +Click here to view this github pages as [rendered HTML][src] + +[src]: http://htmlpreview.github.io/?https://github.com/cbrightly/BackupScript/blob/gh-pages/index.html diff --git a/backup.sh b/backup.sh deleted file mode 100755 index d34c841..0000000 --- a/backup.sh +++ /dev/null @@ -1,161 +0,0 @@ -#!/bin/bash -#################### -# -# Written by: -# Chris Brightly -# Description: -# Simple BASH script for backup which takes no -# arguments. -# Usage: -# sh backup.sh -# OR -# ./backup.sh -# -######################################################## -# -# If run as root then / is backed up to a tgz file. If -# user is NOT root, then it creates a tgz of $HOME. -# Regardless of username, the script attempts to backup -# /var/www to a seperate tgz file. -# -######################################################## -## -# Changing these allows for finer control over script -# paramaters, however setting these incorrectly can -# stop the script from executing properly... -# You should only change these if you are SURE you know -# what you're doing! -# -######################################################## -# -# <----- SCRIPT SETTINGS VARIABLES -----> -# -DATE=`date +%F` # Grab the date -HOST=`hostname` # Grab the hostname -NAME=`whoami` # Grab username -DESTINATION=/backup # Set default destination -SOURCE=/ # Default dir to backup -FILENAME=$DATE-$NAME_at_$HOST -BACKUP_WWW=TRUE # Backup $WEB + default data? -WEB=/var/www # web home -RETAIN=3 # Days to keep existing backups -TEMP=/tmp -# -# !! You shouldn't need to change anything below here !! - - -echo -e "--------------------" -echo -e "BackupScript Running" -echo -e "--------------------\n" - -# Check user & permissions, set src and dest accordingly -if [ ! $(id -u) = 0 ]; then - SOURCE=$HOME - DESTINATION=$SOURCE/backup -# echo -e "*** NOT running as root.\n *** Only backing up user's home.\n" - echo -e "*** NOT RUNNING AS ROOT! ***\n^^^ This can limit the ability of this script to backup certain directories ^^^\n" - else - SOURCE=/ - DESTINATION=$SOURCE/backup - echo -e "!!! Running as root!!!\nBacking up:\n\t $SOURCE\n" - echo -e "Backup Destination:\n\t$DESTINATION\n" -fi - -# Does backup destination exist? -if [ ! -d $DESTINATION ]; then - # Non-existant backup destination! - echo -e "Backup destination doesn't exist!\n" - if [ $(mkdir $DESTINATION) ]; then # Try to create destination if not existant - echo -e "$DESTINATION created...\n" - else - # Can't create default backup dir - echo -e "Can't create $DESTINATION...\n" - if [ $(ls -d -- "$HOME/backup" > /dev/null 2>&1) ]; then - # if [ -d $HOME/backup ]; then - if [ -w $HOME/backup ]; then - DESTINATION=$HOME/backup - echo -e "Backup of data being created in $DESTINATION.\n" - mkdir $DESTINATION - else - echo -e "Cannot write to $HOME/backup, aborting!\n" - exit - fi - else - echo -e "No suitable backup destinations. Aborting!\n" - exit - fi - fi -fi - -# If $DESTINATION isn't writable... -if [ ! -w $DESTINATION ]; then - DESTINATION=$HOME/backup - if [ ! -w $DESTINATION ]; then - echo -e "Can't write to $DESTINATION! Aborting!" - exit - else - # If we CAN write to $DESTINATION - echo -e "$DESTINATION verified as writable\n" - echo -e "Writing backup to $DESTINATION...\n" - fi -fi - -cd $TEMP -# Use variables to create a filename -FILEMAIN=$TEMP/$FILENAME.tgz -FILEHOME=$TEMP/$FILENAME-home.tar.gz -FILEWWW=$TEMP/$FILENAME-www.tar.gz - -echo -e "Creating home backup:\n\t$FILEHOME" -if tar -czf $FILEHOME $SOURCE --exclude $DESTINATION --exclude $DESTINATION/.bitcoin > /dev/null 2>&1; then - echo -e " ...okay!\n" -else - echo -e " ...ERROR!\n" - exit -fi - -# Create backup of $WWW -echo -e "Creating web backup:\n\t$FILEWWW" -if tar -czf $FILEWWW $WEB --exclude $DESTINATION > /dev/null 2>&1; then - echo -e " ...okay!\n" -else - echo -e " ...ERROR!\n" - exit -fi - -# Create container tgz -echo -e "Creating a container tgz file..." -if tar -czf $FILEMAIN $FILEHOME $FILEWWW > /dev/null 2>&1 ; then - echo -e " ...okay!\n" -else - echo -e " ...ERROR!\n" - exit -fi - -# Remove temporary tar.gz files -echo -e "Removing temporary tar.gz files..." -if rm $FILEHOME $FILEWWW ; then - echo -e " ...okay!\n" -else - echo -e " ...ERROR!\n" - exit -fi - -# Move files from temp directory to final dir -echo -e "Moving final tgz to backup destination..." -if mv $FILEMAIN $DESTINATION; then - echo -e " ...okay!\n" -else - echo -e " ...ERROR!\n" - exit -fi - -# Go to destination directory -cd $DESTINATION -# Delete backups more than # days old -# echo -e "Finding and deleting backup files older than $RETAIN days.." -# find $DESTINATION -name "*.tgz" -type f -mtime +$RETAIN -delete -# All done! -echo -e "Success!\n\tBackup sources:\n\t$WWW_ROOT\n\t$SOURCE\nBackup(s) destination:\n\t$DESTINATION!\n" -# echo -e "Successfully purged pre-existing backup files older than $RETAIN days!\n" -echo -e "*** Backup Script Completed! ***\n" diff --git a/backup_basic.sh b/backup_basic.sh deleted file mode 100755 index cd1487c..0000000 --- a/backup_basic.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash -######################################################## -# > Description: -# Extremely Rudimentary Backup Shell Script -# > Usage: -# bash backup_basic.sh -# OR -# ./backup_basic.sh -# > Information: -# Creates copies of all home directories plus -# everything in and underneath /var/www/ with -# the exception of $HOME/.bitcoin and $HOME/.litecoin -# which hold each blockchain, respectively. -######################################################## - -DATE=$(date +%F); # Grab the current date -HOST=$(hostname); # Grab the hostname -USER=$(whoami); # Get current username -#SRC=/; # Set default BACKUP src -DEST=/backup; # Set default BACKUP dest -CHOWNER=$USER:nogroup; # Set default final owner+group -DIR=$( cd "$(dirname "$0")" || echo "Couldn't cd to $(dirname "$0")... quitting!" && exit ; pwd -P ) # Where is script running from? -EXCLUDES="--exclude=$HOME/.bitcoin/* --exclude=$HOME/.litecoin/* --exclude=$HOME/backup/* --exclude=$HOME/.zcash/* --exclude=$HOME/.zcash-params/* --exclude=$HOME/archives/* --exclude=$HOME/*.com/* --exclude=$HOME/*.in/* --exclude=$HOME/*.tk/* --exclude=$HOME/.bitmonero/* --exclude=$HOME/www*"; - -echo " "; -echo "+==============================================+"; -echo "| !! Backup Execution Begining..."; -# Create destination directory if not already existant -# TODO: Need to check for write permission as well - if ! [ -d "$DEST" ]; then sudo mkdir -p "$DEST" && sudo chown "$CHOWNER" "$DEST"; fi; -# Move to destination directory - cd "$DEST" || sudo mkdir -p "$DEST" #echo "Couldn't cd to $DEST... quitting!" && exit; - echo "| II Changed current directory to $DEST"; -# Backup home folders - FILENAME="$DATE"-"$HOST"-home_backup.tar.gz; - tar -czf "$FILENAME" "$HOME" "$EXCLUDES"; - echo "| II $HOME made into a tarball in $DEST"; -# Backup www root - FILENAME="$DATE"-"$HOST"-www_backup.tar.gz; - sudo tar -czf "$FILENAME" /var/www; - echo "| II /var/www made into a tarball in $DEST"; -# Backup /etc - FILENAME="$DATE"-"$HOST"-etc_backup.tar.gz; - sudo tar -czf "$FILENAME" /etc; - echo "| II /etc made into a tarball in $DEST"; -# Backup apt files eight different ways - FILENAME="$DATE"-"$HOST"-var_lib_dpkg.tar.gz; - sudo tar -czf "$FILENAME" /var/lib/dpkg; - echo "| II /var/lib/dpkg tarballed in $DEST"; - FILENAME="$DATE"-"$HOST"-apt_extended_states.tar.gz; - sudo tar -czf "$FILENAME" /var/lib/apt/extended_states; - echo "| II /var/lib/apt/extended_states backed up"; - FILENAME="$DATE"-"$HOST"-dpkg_get-selections.txt; - sudo dpkg --get-selections "*" | sudo tee "$FILENAME"; - sudo chown "$USER" "$DEST"/"$DATE"-"$HOST"-dpkg_get-selections.txt; - sudo tar -czf "$FILENAME" "$DATE"-"$HOST"-dpkg_get-selections.txt --remove-files; - echo "| II dpkg --get-selections \"*\" backed up"; - sudo tar -czf "$DATE"-"$HOST"-pkgstates.tar.gz /var/lib/aptitude/pkgstates; - echo "| II aptitude package states backed up"; - sudo tar -czf "$DATE"-"$HOST"-backups.tgz "$DATE"-"$HOST"*.tar.gz; - echo "| II gzip'd tarball made of individual files"; -# Remove temporary tar.gz files - echo "| II Removing temporary .tar.gz files"; - sudo rm -f "$DATE"-"$HOST"-*.tar.gz; -# Set permissions to user:group as defined near top of file - sudo chown "$CHOWNER" "$DEST" -R; - echo "| "; - echo "| II Ownership of:"; - echo "| II $DEST:"; - echo "| II Set recursively to:"; - echo "| II $USER"; - echo "| "; -# Summarize for user at finish - echo "| II Files are inside $DEST"; - echo "| II ... and are prefixed by $DATE-$HOST-"; - echo "| !! Execution complete..."; - echo "+===============================================+"; -# Return from whence we came - cd "$DIR" || echo "Couldn't cd to $DIR! Quitting..." && exit; - echo ""; diff --git a/backup_to_remote.sh b/backup_to_remote.sh deleted file mode 100644 index 356c529..0000000 --- a/backup_to_remote.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -DATE=`date +%F`; -SRCHOST=`hostname`; -SRCPATH=/backup -DESTHOST=backup.remotehost.com -DESTUSER=remoteuser -DESTPATH=/backup -scp $SRCPATH/$DATE-$SRCHOST-* $DESTUSER@$DESTHOST:$DESTPATH diff --git a/clone_packages.sh b/clone_packages.sh deleted file mode 100755 index 0b8b5d9..0000000 --- a/clone_packages.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -echo "Backing up apt status / package list"; -echo ""; -# Backup -sudo apt-clone clone --with-dpkg-status --with-dpkg-repack dpkglist; -# Restore -# sudo apt-clone --set-selections < dpkglist.txt; -echo "Done!" -echo ""; diff --git a/images/body-bg.jpg b/images/body-bg.jpg new file mode 100644 index 0000000..719fb88 Binary files /dev/null and b/images/body-bg.jpg differ diff --git a/images/download-button.png b/images/download-button.png new file mode 100644 index 0000000..c5ffb3a Binary files /dev/null and b/images/download-button.png differ diff --git a/images/github-button.png b/images/github-button.png new file mode 100644 index 0000000..cd41580 Binary files /dev/null and b/images/github-button.png differ diff --git a/images/header-bg.jpg b/images/header-bg.jpg new file mode 100644 index 0000000..d16497a Binary files /dev/null and b/images/header-bg.jpg differ diff --git a/images/highlight-bg.jpg b/images/highlight-bg.jpg new file mode 100644 index 0000000..355e089 Binary files /dev/null and b/images/highlight-bg.jpg differ diff --git a/images/sidebar-bg.jpg b/images/sidebar-bg.jpg new file mode 100644 index 0000000..536ead9 Binary files /dev/null and b/images/sidebar-bg.jpg differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..73dee40 --- /dev/null +++ b/index.html @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + BackupScript by cbrightly + + + +
+
+

BackupScript

+

BASH Backup Shell Script

+ View project on GitHub +
+
+ +
+
+
+

+BackupScript by @cbrightly +

+ +

You are probably looking for the wiki page

+ +

+
+
+ + + + diff --git a/javascripts/main.js b/javascripts/main.js new file mode 100644 index 0000000..d8135d3 --- /dev/null +++ b/javascripts/main.js @@ -0,0 +1 @@ +console.log('This would be the main JS file.'); diff --git a/params.json b/params.json new file mode 100644 index 0000000..907e13f --- /dev/null +++ b/params.json @@ -0,0 +1 @@ +{"name":"BackupScript","tagline":"BASH Backup Shell Script","body":"### BackupScript by @cbrightly\r\nThis automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here [using GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/), select a template crafted by a designer, and publish. After your page is generated, you can check out the new `gh-pages` branch locally. If you’re using GitHub Desktop, simply sync your repository and you’ll see the new branch.\r\n\r\n### Designer Templates\r\nWe’ve crafted some handsome templates for you to use. Go ahead and click 'Continue to layouts' to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved.\r\n\r\n### Creating pages manually\r\nIf you prefer to not use the automatic generator, push a branch named `gh-pages` to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.\r\n\r\n### Authors and Contributors\r\nYou can @mention a GitHub username to generate a link to their profile. The resulting `` element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.\r\n\r\n### Support or Contact\r\nHaving trouble with Pages? Check out our [documentation](https://help.github.com/pages) or [contact support](https://github.com/contact) and we’ll help you sort it out.\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file diff --git a/restore_packages.sh b/restore_packages.sh deleted file mode 100755 index 7c43e2d..0000000 --- a/restore_packages.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -echo "Restoring up apt status / package list"; -echo ""; -# Backup -#sudo apt-clone --get-selections > dpkglist.txt; -# Restore - sudo apt-clone restore dpkglist*; -echo "Done!" -echo ""; diff --git a/stylesheets/github-light.css b/stylesheets/github-light.css new file mode 100644 index 0000000..872a6f4 --- /dev/null +++ b/stylesheets/github-light.css @@ -0,0 +1,116 @@ +/* + Copyright 2014 GitHub Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +.pl-c /* comment */ { + color: #969896; +} + +.pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */, +.pl-s .pl-v /* string variable */ { + color: #0086b3; +} + +.pl-e /* entity */, +.pl-en /* entity.name */ { + color: #795da3; +} + +.pl-s .pl-s1 /* string source */, +.pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ { + color: #333; +} + +.pl-ent /* entity.name.tag */ { + color: #63a35c; +} + +.pl-k /* keyword, storage, storage.type */ { + color: #a71d5d; +} + +.pl-pds /* punctuation.definition.string, string.regexp.character-class */, +.pl-s /* string */, +.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */, +.pl-sr /* string.regexp */, +.pl-sr .pl-cce /* string.regexp constant.character.escape */, +.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */, +.pl-sr .pl-sre /* string.regexp source.ruby.embedded */ { + color: #183691; +} + +.pl-v /* variable */ { + color: #ed6a43; +} + +.pl-id /* invalid.deprecated */ { + color: #b52a1d; +} + +.pl-ii /* invalid.illegal */ { + background-color: #b52a1d; + color: #f8f8f8; +} + +.pl-sr .pl-cce /* string.regexp constant.character.escape */ { + color: #63a35c; + font-weight: bold; +} + +.pl-ml /* markup.list */ { + color: #693a17; +} + +.pl-mh /* markup.heading */, +.pl-mh .pl-en /* markup.heading entity.name */, +.pl-ms /* meta.separator */ { + color: #1d3e81; + font-weight: bold; +} + +.pl-mq /* markup.quote */ { + color: #008080; +} + +.pl-mi /* markup.italic */ { + color: #333; + font-style: italic; +} + +.pl-mb /* markup.bold */ { + color: #333; + font-weight: bold; +} + +.pl-md /* markup.deleted, meta.diff.header.from-file */ { + background-color: #ffecec; + color: #bd2c00; +} + +.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ { + background-color: #eaffea; + color: #55a532; +} + +.pl-mdr /* meta.diff.range */ { + color: #795da3; + font-weight: bold; +} + +.pl-mo /* meta.output */ { + color: #1d3e81; +} + diff --git a/stylesheets/print.css b/stylesheets/print.css new file mode 100644 index 0000000..7da6db0 --- /dev/null +++ b/stylesheets/print.css @@ -0,0 +1,228 @@ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + padding: 0; + margin: 0; + font: inherit; + font-size: 100%; + vertical-align: baseline; + border: 0; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +body { + font-family: 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 13px; + line-height: 1.5; + color: #000; +} + +a { + font-weight: bold; + color: #d5000d; +} + +header { + padding-top: 35px; + padding-bottom: 10px; +} + +header h1 { + font-size: 48px; + font-weight: bold; + line-height: 1.2; + color: #303030; + letter-spacing: -1px; +} + +header h2 { + font-size: 24px; + font-weight: normal; + line-height: 1.3; + color: #aaa; + letter-spacing: -1px; +} +#downloads { + display: none; +} +#main_content { + padding-top: 20px; +} + +code, pre { + margin-bottom: 30px; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; + font-size: 12px; + color: #222; +} + +code { + padding: 0 3px; +} + +pre { + padding: 20px; + overflow: auto; + border: solid 1px #ddd; +} +pre code { + padding: 0; +} + +ul, ol, dl { + margin-bottom: 20px; +} + + +/* COMMON STYLES */ + +table { + width: 100%; + border: 1px solid #ebebeb; +} + +th { + font-weight: 500; +} + +td { + font-weight: 300; + text-align: center; + border: 1px solid #ebebeb; +} + +form { + padding: 20px; + background: #f2f2f2; + +} + + +/* GENERAL ELEMENT TYPE STYLES */ + +h1 { + font-size: 2.8em; +} + +h2 { + margin-bottom: 8px; + font-size: 22px; + font-weight: bold; + color: #303030; +} + +h3 { + margin-bottom: 8px; + font-size: 18px; + font-weight: bold; + color: #d5000d; +} + +h4 { + font-size: 16px; + font-weight: bold; + color: #303030; +} + +h5 { + font-size: 1em; + color: #303030; +} + +h6 { + font-size: .8em; + color: #303030; +} + +p { + margin-bottom: 20px; + font-weight: 300; +} + +a { + text-decoration: none; +} + +p a { + font-weight: 400; +} + +blockquote { + padding: 0 0 0 30px; + margin-bottom: 20px; + font-size: 1.6em; + border-left: 10px solid #e9e9e9; +} + +ul li { + padding-left: 20px; + list-style-position: inside; + list-style: disc; +} + +ol li { + padding-left: 3px; + list-style-position: inside; + list-style: decimal; +} + +dl dd { + font-style: italic; + font-weight: 100; +} + +footer { + padding-top: 20px; + padding-bottom: 30px; + margin-top: 40px; + font-size: 13px; + color: #aaa; +} + +footer a { + color: #666; +} + +/* MISC */ +.clearfix:after { + display: block; + height: 0; + clear: both; + visibility: hidden; + content: '.'; +} + +.clearfix {display: inline-block;} +* html .clearfix {height: 1%;} +.clearfix {display: block;} diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css new file mode 100644 index 0000000..543c951 --- /dev/null +++ b/stylesheets/stylesheet.css @@ -0,0 +1,881 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + -ms-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + margin: 0.67em 0; + font-size: 2em; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + color: #000; + background: #ff0; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + height: 0; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + margin: 0; /* 3 */ + font: inherit; /* 2 */ + color: inherit; /* 1 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-box-sizing: content-box; /* 2 */ + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; /* 1 */ +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + padding: 0.35em 0.625em 0.75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + padding: 0; /* 2 */ + border: 0; /* 1 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-spacing: 0; + border-collapse: collapse; +} + +td, +th { + padding: 0; +} + +/* LAYOUT STYLES */ +body { + font-family: 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 15px; + font-weight: 400; + line-height: 1.5; + color: #666; + background: #fafafa url(../images/body-bg.jpg) 0 0 repeat; +} + +p { + margin-top: 0; +} + +a { + color: #2879d0; +} +a:hover { + color: #2268b2; +} + +header { + padding-top: 40px; + padding-bottom: 40px; + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + background: #2e7bcf url(../images/header-bg.jpg) 0 0 repeat-x; + border-bottom: solid 1px #275da1; +} + +header h1 { + width: 540px; + margin-top: 0; + margin-bottom: 0.2em; + font-size: 72px; + font-weight: normal; + line-height: 1; + color: #fff; + letter-spacing: -1px; +} + +header h2 { + width: 540px; + margin-top: 0; + margin-bottom: 0; + font-size: 26px; + font-weight: normal; + line-height: 1.3; + color: #9ddcff; + letter-spacing: 0; +} + +.inner { + position: relative; + width: 940px; + margin: 0 auto; +} + +#content-wrapper { + padding-top: 30px; + border-top: solid 1px #fff; +} + +#main-content { + float: left; + width: 690px; +} + +#main-content img { + max-width: 100%; +} + +aside#sidebar { + float: right; + width: 200px; + min-height: 504px; + padding-left: 20px; + font-size: 12px; + line-height: 1.3; + background: transparent url(../images/sidebar-bg.jpg) 0 0 no-repeat; +} + +aside#sidebar p.repo-owner, +aside#sidebar p.repo-owner a { + font-weight: bold; +} + +#downloads { + margin-bottom: 40px; +} + +a.button { + width: 134px; + height: 58px; + padding-top: 22px; + padding-left: 68px; + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 23px; + line-height: 1.2; + color: #fff; +} +a.button small { + display: block; + font-size: 11px; +} +header a.button { + position: absolute; + top: 0; + right: 0; + background: transparent url(../images/github-button.png) 0 0 no-repeat; +} +aside a.button { + display: block; + width: 138px; + padding-left: 64px; + margin-bottom: 20px; + font-size: 21px; + background: transparent url(../images/download-button.png) 0 0 no-repeat; +} + +code, pre { + margin-bottom: 30px; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + font-size: 13px; + color: #222; +} + +code { + padding: 0 3px; + background-color: #f2f8fc; + border: solid 1px #dbe7f3; +} + +pre { + padding: 20px; + overflow: auto; + text-shadow: none; + background: #fff; + border: solid 1px #f2f2f2; +} +pre code { + padding: 0; + color: #2879d0; + background-color: #fff; + border: none; +} + +ul, ol, dl { + margin-bottom: 20px; +} + + +/* COMMON STYLES */ + +hr { + height: 0; + margin-top: 1em; + margin-bottom: 1em; + border: 0; + border-top: solid 1px #ddd; +} + +table { + width: 100%; + border: 1px solid #ebebeb; +} + +th { + font-weight: 500; +} + +td { + font-weight: 300; + text-align: center; + border: 1px solid #ebebeb; +} + +form { + padding: 20px; + background: #f2f2f2; + +} + + +/* GENERAL ELEMENT TYPE STYLES */ + +#main-content h1 { + margin-top: 0; + margin-bottom: 0; + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 2.8em; + font-weight: normal; + color: #474747; + text-indent: 6px; + letter-spacing: -1px; +} + +#main-content h1:before { + padding-right: 0.3em; + margin-left: -0.9em; + color: #9ddcff; + content: "/"; +} + +#main-content h2 { + margin-bottom: 8px; + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 22px; + font-weight: bold; + color: #474747; + text-indent: 4px; +} +#main-content h2:before { + padding-right: 0.3em; + margin-left: -1.5em; + content: "//"; + color: #9ddcff; +} + +#main-content h3 { + margin-top: 24px; + margin-bottom: 8px; + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 18px; + font-weight: bold; + color: #474747; + text-indent: 3px; +} + +#main-content h3:before { + padding-right: 0.3em; + margin-left: -2em; + content: "///"; + color: #9ddcff; +} + +#main-content h4 { + margin-bottom: 8px; + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 15px; + font-weight: bold; + color: #474747; + text-indent: 3px; +} + +h4:before { + padding-right: 0.3em; + margin-left: -2.8em; + content: "////"; + color: #9ddcff; +} + +#main-content h5 { + margin-bottom: 8px; + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 14px; + color: #474747; + text-indent: 3px; +} +h5:before { + padding-right: 0.3em; + margin-left: -3.2em; + content: "/////"; + color: #9ddcff; +} + +#main-content h6 { + margin-bottom: 8px; + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: .8em; + color: #474747; + text-indent: 3px; +} +h6:before { + padding-right: 0.3em; + margin-left: -3.7em; + content: "//////"; + color: #9ddcff; +} + +p { + margin-bottom: 20px; +} + +a { + text-decoration: none; +} + +p a { + font-weight: 400; +} + +blockquote { + padding: 0 0 0 30px; + margin-bottom: 20px; + font-size: 1.6em; + border-left: 10px solid #e9e9e9; +} + +ul { + list-style-position: inside; + list-style: disc; + padding-left: 20px; +} + +ol { + list-style-position: inside; + list-style: decimal; + padding-left: 3px; +} + +dl dd { + font-style: italic; + font-weight: 100; +} + +footer { + padding-top: 20px; + padding-bottom: 30px; + margin-top: 40px; + font-size: 13px; + color: #aaa; + background: transparent url('../images/hr.png') 0 0 no-repeat; +} + +footer a { + color: #666; +} +footer a:hover { + color: #444; +} + +/* MISC */ +.clearfix:after { + display: block; + height: 0; + clear: both; + visibility: hidden; + content: '.'; +} + +.clearfix {display: inline-block;} +* html .clearfix {height: 1%;} +.clearfix {display: block;} + +/* #Media Queries +================================================== */ + +/* Smaller than standard 960 (devices and browsers) */ +@media only screen and (max-width: 959px) { } + +/* Tablet Portrait size to standard 960 (devices and browsers) */ +@media only screen and (min-width: 768px) and (max-width: 959px) { + .inner { + width: 740px; + } + header h1, header h2 { + width: 340px; + } + header h1 { + font-size: 60px; + } + header h2 { + font-size: 30px; + } + #main-content { + width: 490px; + } + #main-content h1:before, + #main-content h2:before, + #main-content h3:before, + #main-content h4:before, + #main-content h5:before, + #main-content h6:before { + padding-right: 0; + margin-left: 0; + content: none; + } +} + +/* All Mobile Sizes (devices and browser) */ +@media only screen and (max-width: 767px) { + .inner { + width: 93%; + } + header { + padding: 20px 0; + } + header .inner { + position: relative; + } + header h1, header h2 { + width: 100%; + } + header h1 { + font-size: 48px; + } + header h2 { + font-size: 24px; + } + header a.button { + position: relative; + display: inline-block; + width: auto; + height: auto; + padding: 5px 10px; + margin-top: 15px; + font-size: 13px; + line-height: 1; + color: #2879d0; + text-align: center; + background-color: #9ddcff; + background-image: none; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + header a.button small { + display: inline; + font-size: 13px; + } + #main-content, + aside#sidebar { + float: none; + width: 100% ! important; + } + aside#sidebar { + min-height: 0; + padding: 20px 0; + margin-top: 20px; + background-image: none; + border-top: solid 1px #ddd; + } + aside#sidebar a.button { + display: none; + } + #main-content h1:before, + #main-content h2:before, + #main-content h3:before, + #main-content h4:before, + #main-content h5:before, + #main-content h6:before { + padding-right: 0; + margin-left: 0; + content: none; + } +} + +/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ +@media only screen and (min-width: 480px) and (max-width: 767px) { } + +/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */ +@media only screen and (max-width: 479px) { } +