Giter VIP home page Giter VIP logo

creativecommons.github.io-source's Introduction

creativecommons.github.io-source

Source for creativecommons.github.io

Overview

⚠️ DO NOT MAKE CHANGES TO THE creativecommons/creativecommons.github.io REPO DIRECTLY.

This site is built using Lektor. All changes to opensource.creativecommons.org (creativecommons.github.io) must be made here and deployed via lektor (see Deployment, below).

Code of Conduct

CODE_OF_CONDUCT.md:

The Creative Commons team is committed to fostering a welcoming community. This project and all other Creative Commons open source projects are governed by our Code of Conduct. Please report unacceptable behavior to [email protected] per our reporting guidelines.

Contributing

Installation

Prerequisites

Make sure you have:

To install these, execute the following commands:

Installing Project Requirements

  1. Clone this repository.
  2. Open your command line interface change directories to the repository root directory.
  3. Create a Python virtual environment and install the requirements for this project:
    pipenv install --dev
    

pipenv Troubleshooting

pipenv doesn't always provide the best error messages (Provide better error message if the project’s virtual environment is broken). If all else fails, try removing the virtual environment and reinstalling:

  1. Remove virtual environment:
    pipenv --rm
    
  2. Install virtual environment (including dev packages):
    pipenv install --dev
    

Development

  • Start the Lektor development server:
    pipenv run lektor server -f webpack
    
  • You will be able to see the website at 127.0.0.1:5000/.
    • The Lektor server will rebuild the site every time you change any content.

Troubleshooting Possible Errors

  • Should you get series of type errors that looks something like npm ERR! typeerror Error: Missing required argument #1, after running pipenv run lektor server -f webpack, this is most likely due to running an older version of Node.js.

    As stated above in Prerequisites, you should be running Node.js version 12+.

  • Should you get an OSError: [Errno 28] inotify watch limit reached after running any command, this means that your system file watcher is running out of allotted handles, usually because the workspace is large and contains many files.

    The solution is to run:

    sudo sysctl fs.inotify.max_user_watches=524288
    

    This increases your inotify watch limit (for the session) to 524288, which is the maximum value and is also enough to allow the setup go through. You can learn more about file watchers from this blog post or from the VS Code documentation.

Deployment

We have continuous deployment set up. To deploy, push your code to the main branch (or make a pull request against the main branch. GitHub Actions builds and deploys the site whenever it detects new commits on the main branch.

The GitHub Actions configuration is located at .github/workflows/lektor-build-deploy.yml.

Manual Deployment

⚠️ For reference only, you should not need to not do this.

When you are ready to deploy a new version of the site, run lektor deploy (assuming you have your GitHub SSH key already set up and you have access to the creativecommons/creativecommons.github.io repository). That's it, it's live on production!

Project Structure

Here's how the code is structured in the top level of the repository:

  • assets: This directory contains the JavaScript and CSS files for the project built via webpack. Most of the JavaScript and CSS is third-party code and loaded via CDN so this is pretty empty.
  • content: The content of the site lives here. Here's an explanation of how content works in Lektor. This is probably what you'll be modifying most often.
  • models: All content in Lektor is associated with data models to define their schema. Currently, we only use the default page model that ships with Lektor.
  • templates: This is where the Jinja2 templates that render content are stored. See the Lektor template documentation for more information.
  • webpack: This is where all the webpack config files as well as Sass and JavaScript files for the project resides. The JavaScript and Sass files are compiled and saved in the assets folder during lektor build process.

Lektor Plugins

Redirects

  • /cc-vocabulary/ to https://cc-vocabulary.netlify.com/
    • Added so that the opensource.creativecommons.org/cc-vocabulary/ will continue to work with that project moving to utilize Netlify.
  • /cc-vue-vocabulary to https://cc-vue-vocabulary.netlify.com/
    • Added so that the opensource.creativecommons.org/cc-vue-vocabulary/ will continue to work with that project moving to utilize Netlify.
  • /cc-fonts to https://cc-fonts.netlify.com/
    • Added so that the opensource.creativecommons.org/cc-fonts/ will continue to work with that project moving to utilize Netlify.

External Data

The following load external data:

License

Code

Content

CC BY 4.0 license button

All the content within this repository is licensed under a Creative Commons Attribution 4.0 International License unless otherwise specified.

Font Awesome

This repository contains PNG icons that were converted from Font Awesome SVGs:

Font Awesome Free is free, open source, and GPL friendly. You can use it for commercial projects, open source projects, or really almost whatever you want. (Full Font Awesome Free license: https://fontawesome.com/license/free)

Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) In the Font Awesome Free download, the CC BY 4.0 license applies to all icons packaged as SVG and JS file types.

creativecommons.github.io-source's People

Contributors

cc-creativecommons-github-io-bot avatar kgodey avatar timidrobot avatar dhruvi16 avatar dhruvkb avatar nimishbongale avatar zackkrida avatar makkoncept avatar aldenstpage avatar hugosolar avatar mathemancer avatar possumbilities avatar code-n-chill avatar cronus1007 avatar zeeshan-2k1 avatar jackiebinya avatar soccerdroid avatar kss682 avatar ariessa avatar techievivek avatar madewithkode avatar ayanchoudhary avatar krysal avatar ooyeraju avatar brenoferreira avatar sp35 avatar ritesh-pandey avatar preciousoritsedere avatar ayu023ban avatar sgrepos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.