Coder Social home page Coder Social logo

website's Introduction

Build Status

Sagemath.org Website

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 website 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 an 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

amy-glen avatar bgillesp avatar bryangingechen avatar cheuberg avatar cryptxpert avatar davidayotte avatar dimpase avatar drvinceknight avatar drxyzzy avatar embray avatar fchapoton avatar haraldschilly avatar kcrisman avatar kryzar avatar kwankyu avatar mkoeppe avatar mukeshkharita avatar nathandunfield avatar nathanncohen avatar nicholaskirchner avatar nthiery avatar paulmasson avatar paulmenzel avatar pipedream avatar roed314 avatar silentflame avatar slel avatar stakemori avatar wdjoyner avatar williamstein avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

website's Issues

Thebe "activate" button on website

The button to make documentation examples live is meant to be active only in the context of Jupyter notebooks, but appears on website pages. Clicking it then clicking "run" after an example leads to an error message and makes the website appear broken.

Is this something that should be fixed here or in SageMath? Was the integration of Thebe on https://trac.sagemath.org/ticket/20690 done correctly? Should I move this discussion to sage-devel?

Move "usage" on download pages to top

If you aren't used to "selecting mirrors", the way that all the download pages look is the worst possible advertisement to Sage. Those sections should be moved to the top, and possibly the wording of

Please select a download server close to your location below.

should be changed to something like

Before choosing your download, please select a download server close to your location from the list below.

devmap broken

MarkerClusterer is missing, deprecated or updated?!

Mistakes in Sage Calculus Tutorial on Differentiability

[Hello, everyone! I originally sent this as an email to Elliott Brossard, but since he's no longer maintaining content on the website, he suggested that I post my feedback here. -- Fred]

Hi Elliott,

Thanks for all your time and effort on the Sage Calculus Tutorial. The plots and the mathematical typesetting are beautifully done!

I'm writing to report some mathematical mistakes in the tricky proofs on the Differentiability page. You're trying to show that the absolute value function, denoted by g, is not differentiable at zero.

You argued that "since the limit of g'(x) as x approaches 0 from the left ≠ the limit of g'(x) as x approaches 0 from the right, g'(0) does not exist." The conclusion is incorrect. Since the left- and right-hand limits are different, you've proven that the two-sided limit of g'(x) as x approaches 0 does not exist. This shows that the derivative g' must be discontinuous at zero, if it exists there; however, this does not prove that g'(0) does not exist. In this counterexample, the derivative g' is discontinuous at zero, like in your example, but g'(0) actually exists.

To show that g'(0) does not exist, you have to appeal directly to the definition of the derivative as the limit of the difference quotient. You did this for g'(x) for general x and derived an expression that is undefined when x is 0, but that's not a valid proof of non-existence at 0. (Also, the 2x in the numerator immediately after cancellation should be 2x + h.)

You need to substitute x = 0 into the limit definition from the very beginning and then evaluate the two one-sided limits. You'll get the limit of |h|/h as h approaches 0. The limit from the left yields -h/h = -1, and the limit from the right yields h/h = 1. Since the one-sided limits disagree, the two-sided limit does not exist, and neither does the derivative g'(0).

If you want to update the web page, I'd be happy to give it another look. I taught university calculus for umpty-ump years and am currently copy editing a collection of calculus questions on the Khan Academy website.

All the best,

Fred Chapman
Math Professor

Change uSageMath to something else or clarify it

One thing I find confusing:

<li><a href="{{ 'help-uSage.html'|prefix }}">u{{ sage }} User Groups</a></li>

Amazingly, the link etc. works, but the u in both instances is really confusing. I guess maybe just "Sage User Groups" would be easier" - I assume the u was discussed on sage-devel at some point, maybe "uS[eS]agemath" like uSeR? But for R it rolls off the tongue easier and makes sense.

Anyway, the current link looks like a typo.

Add Lights out article from Math Mag

This article cites Sage

@article{10.4169/math.mag.90.2.126,
 ISSN = {0025570X, 19300980},
 URL = {http://www.jstor.org/stable/10.4169/math.mag.90.2.126},
 abstract = {Lights Out is a game played on a grid of light-up buttons. At the start of the game, the lights are lit in a seemingly random configuration. A button changes states whenever it or one of its neighbors is pressed. The goal is to turn all of the lights out. Light chasing is a simple strategy for winning Lights Out by using a lookup table. In this article we examine how to construct these lookup tables for several variations of the game.},
 author = {C. DAVID LEACH},
 journal = {Mathematics Magazine},
 number = {2},
 pages = {126-133},
 publisher = {Mathematical Association of America},
 title = {Chasing the Lights in Lights Out},
 volume = {90},
 year = {2017}
}

back to sage main page should be localized

Practically every la/_la.html or la/index.html has this in it.

{% block header_text %}
<a href="{{ 'index.html'|prefix }}">back to Sage main page</a>
{% endblock %}

?? Why not localized? Probably just never happened.

Sitemaps for documentation indexing

@haraldschilly since you blacklisted /doc/ and /documentation/ more links are going directly to the desired subdomain doc.sagemath.org. I am noticing though that many items still relay on the manual redirection and are not getting updated in Google's index.

A friend and I wrote a JavaScript utility to create text-file listings of all files in a GitHub website filtered by extension with optional redirection from the default github.io location:

http://exploratoria.github.io/lib/github-api/sitemap.html

In order to speed up Google's indexing of the documentation, I would suggest a sitemap of all .html files in /documentation/html/ and all .pdf files in /documentation/pdf/. If you want me to create these sitemaps, I'm happy to submit a pull request for them. You of course would then need to submit them through Google's Webmaster Tools.

redirect /old-src

301 redirect

 ./src/src-old.html

to

 http://old.files.sagemath.org/src-old/

more in ack

Quote from Anne:

could you add the NSF OCI-1147247 entitled
“Collaborative Research: SI2-SSE: Sage- combinat: Developing and Sharing
Open Source Software for Algebraic Combinatorics” 2012- 2015
under NSF support at that link.

Also, ICERM funded the following Sage Days
http://icerm.brown.edu/sp-s13-w1/

add first ODK paper

@unpublished{DehKohKon:iop16,
  title = {Interoperability in the {OpenDreamKit} Project: The Math-in-the-Middle Approach}
  author = {Paul-Olivier Dehaye and Michael Kohlhase and Alexander Konovalov and Samuel Leli{\`e}vre and Markus Pfeiffer and Nicolas M. Thi{\́e}ry},
  url = {http://arxiv.org/abs/1603.06424}
  pubs = {mkohlhase}
  crossref = {CICM16}}

and make sure it ends up in the preprint/unpublished category

Suggestion: Mention VBoxHeadless as an option for running the Windows virtual machine somewhere

Last night I was poking around the VirtualBox docs and discovered you can start and stop a VM from the windows command prompt with no visual output at all. Since I only use the firefox interface and very rarely have a reason to mess around in the VM itself once I've set everything up initially this seems less clunky than having the machine actually running in a window. It feels like this method drags the system down less too (my laptop's not the best), but that might just be placebo effect.

Start machine (from command prompt or the windows Run dialog):
c:\program files\oracle\virtualbox\vboxheadless -startvm Sage-6.6

Shutdown machine:
c:\program files\oracle\virtualbox\vboxmanage controlvm Sage-6.6 savestate

Titles of localized websites should be in that language

E.g. look at http://www.sagemath.org/fr/ , which inexplicably has "French" in several places. (Auto-generated template? Though it is also in https://github.com/sagemath/website/blob/master/src/fr/_fr.html and https://github.com/sagemath/website/blob/master/src/fr/index.html .

Yet this is not universal - see https://github.com/sagemath/website/blob/master/src/fr/telecharger.html and maybe some of the other localizations. Ideally we would use http://babel.pocoo.org/ or something for this, but probably that's too much work.

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.