Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • M MathJax
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 304
    • Issues 304
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MathJax
  • MathJax
  • Wiki
  • Directory structure

Directory structure · Changes

Page history
Created Directory structure (markdown) authored Apr 17, 2012 by pkra's avatar pkra
Hide whitespace changes
Inline Side-by-side
Directory-structure.md 0 → 100644
View page @ 6165244a
> This will require an update after switching the CDN to Rackspace
### Distribution origin server: `dist.mathjax.org`
This host is the origin server for cdn.mathjax.org, and will only host release and release candidate code.
Versioning will be accomplished via the following logical directory structure.
```
mathjax/ # project-name
1.0-latest/
1.1-beta/ # temporary
1.1-latest/
latest/ # duplicate of 1.1-latest in this example
...
```
Each directory corresponds to an official MathJax release. However, hotfixes (urgent bug fixes) will be applied in each release branch as necessary, even if new releases are not prepared. In other words, 1.1-latest will initially point to v1.1, but over time may be updated with patches that would correspond to releases that might be numbers 1.1a, 1.1b, etc even if such releases are not actually prepared for distribution (they likely won't be).
We may occasionally introduce directories for betas, as indicated above, but they will be temprorary, and will be removed after the official release.
### Development server: devel.mathjax.org
This could host development versions of MathJax, lowering the barrier to community testing and feedback.
The branches hosted here would probably be temporary. The following is an example only.
```
mathjax/ # project-name
mathjax/ # main repository
master/ # trunk
dpvc/ # user-name
reflow/ # branch-name
parallel/
shogun70/
reflow/
```
### Requirements / Constraints
* Must be able to switch hosting and CDN providers.
* Amazon Cloudfront can only be configured to mirror a whole domain, as opposed to an arbitrary sub-directory which other CDN services (at least Edgecast) can do.
* There may be future projects that would be appropriately hosted here.
* Sites that rely on the MathJax CDN will only be able to stick with a major.minor branch, e.g. 1.1-latest. If a site needs to stick with a specific release, even temporarily, then that will need to be installed rather than relying on the CDN.
### Potential issues
* The fonts directory is relatively large, and is currently duplicated in every MathJax release / snapshot. Are there options to reduce this overhead? None at this stage but there aren't enough branches for this to be a significant issue for now.
* What Expires (or cache-control) settings are appropriate? None, since only branches - rather than specific releases - are being provided.
* Should content be gzip'ed even for requests that don't request it? Yes for now - There is a small proportion of end-users who might find MathJax not working - people with early versions of IE6 who are behind a proxy. Possibly this is less significant than the number of people who turn off javascript or run unsupported browsers.
Clone repository
  • Contributing
  • Development
    • Development Process
      • Release Process Checklist
      • Hotfix Release Process
      • Documentation Update Process
      • Source Control Policies
    • Design Documents
      • MathJax Roadmap
      • CDN Hosting
        • Directory Structure
        • CDN .htaccess settings
        • Managing Amazon Cloudfront distribution
        • Initial CDN investigation
      • Performance Discussion
      • Profiling and Diagnostics Tools
      • Congfiguration Options
      • Documentation Guide
      • Testing