Git Product home page Git Product logo

website's Introduction

Sagemath.org WebsiteBuild Status

The src contains the sources for the files, they are rendered to fill-in the blanks for the templates and the output is placed into www.

There are various support scripts for processing the data sources and a makefile to help working with it.

Getting Started

Make sure to not only clone from here or your fork, but also to initialize all submodules.

git clone --recursive [email protected]:sagemath/website.git

or if you forgot the --recursive switch, do this:

git submodule update --init --recursive

Later, don't forget to not only update the website project, but also the submodules (or whatever it is the right thing to do). For example:

git submodule foreach "git checkout master; git pull origin master"

Ubuntu Packages

To get started on Ubuntu:

sudo apt-get install -y pybtex python-jinja2 python-markdown python-yaml

Development

The websites needs various data-sources to build its pages. For example, the publications pages use HTML snippets generated by the publications submodule.

Ideally, a courageous make should do everything for you and and additional make open opens up your web-browser to inspect the result.

To test the website under realistic conditions, make server starts a minimal HTTP server on port 8181 and make show opens it in your web-browser.

NQ8 Images

Shrinking PNG images further down via e.g.

pngnq -v -f -s 64 index_icons.png

Continuous Build Mode

For your convenience, there is a continuous build mode available: make cont

It depends on

  • pyInotify - pip install --user pyinotify - to pick up any changes in your local file-system.

  • xdotool - apt-get install xdotool - which does reload the open tab in your web-browser (by sending Shift+Ctrl+R).

Their combined effect is, that less than a second after you "save" a file, you can see the result without lifting a finger.

Style

  • HTML: Modern HTML5, but nothing too fancy please. One of the main design goals is that everything should still work without Javascript and no Flash.

  • Python: PEP8 is authoritative for various Python scripts -- except E501 (long lines). Just make sure your pep8 and autopep8 is up-to-date and do a healthy make style to clean up your code before you commit.

License

The actual content and included media files are licensed under CC BY-SA 4.0 like the rest of the Sage documentation pages.

The included scripts have their appropriate licensing explained at the top of their respective source files. If no licensing information can be found, regard it as Apache 2.0.

markerclusterer.js

That's copied from https://github.com/googlemaps/js-marker-clusterer

Google Cloud Storage Notes

  • RSync: gsutil -m rsync -d -r www gs://www.sagemath.org
  • Publish all files: gsutil -m acl ch -r -u AllUsers:R gs://www.sagemath.org
  • Cache-Control 10 minutes: gsutil -m setmeta -r -h "Cache-Control:public, max-age=600" gs://www.sagemath.org

website's People

Contributors

haraldschilly avatar fchapoton avatar mkoeppe avatar nathanncohen avatar slel avatar kcrisman avatar dimpase avatar kwankyu avatar paulmasson avatar bgillesp avatar embray avatar nathandunfield avatar nthiery avatar wdjoyner avatar cheuberg avatar mukeshkharita avatar pipedream avatar drxyzzy avatar roed314 avatar davidayotte avatar bryangingechen avatar drvinceknight avatar cryptxpert avatar amy-glen avatar williamstein avatar silentflame avatar stakemori avatar paulmenzel avatar orontee avatar cnassau 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.