Coder Social home page Coder Social logo

ocaml / ocaml.org Goto Github PK

View Code? Open in Web Editor NEW
144.0 12.0 292.0 114.67 MB

The official OCaml website.

Home Page: https://ocaml.org

License: Other

Makefile 0.29% OCaml 45.77% JavaScript 0.61% Dockerfile 0.23% CSS 3.55% Standard ML 0.02% HTML 49.42% Shell 0.10%

ocaml.org's Introduction

OCaml.org

Actions Status

This repository contains the sources of the OCaml website. It is served at https://ocaml.org/.

Features

  • Integrated documentation and package management: The site combines the package management (currently opam.ocaml.org) with a new central documentation source (codenamed 'docs.ocaml.org') for all 14000+ opam packages directly within the ocaml.org site.

  • Responsive and accessible: The site design also takes into account modern web-design principles, restructuring the old content in accordance with methods that will present it more compellingly. It is a total redesign that modernises the look and feel of the webpage, as well as make it easier to navigate, and more accessible (particularly on mobile devices).

  • Separation of data editing from HTML/CSS generation: The data used in the website is stored in Yaml or Markdown so users can easily edit it and contribute to the website. We generate OCaml code from this data to serve the site content and and Ocurrent to automate the data pipelines. All the data used in the site can be found in ./data.

Getting started

You can setup the project with:

Before you begin, make sure you have opam (OCaml Package Manager) installed on your system. If you haven't installed it yet, you can follow the official installation instructions for your platform:

Once opam is installed, you can set up the project and run it with the following commands:

make switch

And run it with:

make start

See our contributing guide for more detailed instructions.

Maintainers

The OCaml.org maintainers team is composed of the following community members:

  • Anil Madhavapeddy (@avsm), Owner (University of Cambridge)
  • Thibaut Mattio (@tmattio), Lead Maintainer (Tarides)
  • Christine Rose (@christinerose), Maintainer (Tarides)
  • Cuihtlauac Alvarado (@cuihtlauac), Maintainer (Tarides)
  • Sabine Schmaltz (@sabine), Maintainer (Tarides)

The roles and responsibilities are explained in the governance, don't hesitate to have a look for more details.

We're always looking for new maintainers! If you're interested in helping us make OCaml.org the best resource to learn OCaml and discover the ecosystem, reach out to us!

Acknowlegement

Thank you to everyone who contributed to the development of this new version of the website!

In particular:

  • Ashish Agarwal (Solvuu)
  • Kanishka Azimi (Solvuu)
  • Richard Davison (Solvuu)
  • Patrick Ferris (OCaml Labs)
  • Gemma Gordon (OCaml Labs)
  • Isabella Leandersson (OCaml Labs)
  • Thibaut Mattio (Tarides)
  • Anil Madhavapeddy (University of Cambridge)

For the groundwork on rethinking the sitemap, user flows, new content, design, and frontend and package docs!

  • Jon Ludlam (OCaml Labs)
  • Jules Aguillon (Tarides)
  • Lucas Pluvinage (Tarides)

For the work on the package site infrastructure and UI!

  • Paul-Elliot Anglès d’Auriac (Tarides)

For meticulously going through the website to find issues.

  • Isabella Leandersson (OCaml Labs)
  • Asaad Mahmood (Tarides)

For the work on the designs and bringing them to life on the frontend!

  • Christine Rose (Tarides)
  • Isabella Leandersson (OCaml Labs)

For the work on the new content and reviewing the existing one!

We’d also like to thank the major funders who supported work on revamping the website: grants from the Tezos Foundation and Jane Street facilitated the bulk of the work. Thank you, and if anyone else wishes to help support it on an ongoing basis then donations to the OCaml Software Foundation and grants to the maintenance teams mentioned above are always welcomed.

Contributing

We'd love your help improving ocaml.org!

See our contributing guide in CONTRIBUTING.md

License

  • The source code is released under ISC
  • The data is released under CC BY-SA 4.0
  • Code examples within the content are released under UNLICENSE.
  • The OCaml logo is released under UNLICENSE.
  • The vendored files are listed with their licenses in LICENSE-3RD-PARTY

See our LICENSE for the complete licenses.

Code of Conduct

This project follows the OCaml Code of Conduct.

ocaml.org's People

Contributors

appleeyes avatar avsm avatar christinerose avatar cuihtlauac avatar dependabot[bot] avatar divyankachaudhari avatar edwintorok avatar emillon avatar fatumaa avatar github-actions[bot] avatar gpetiot avatar idaranabuk avatar jiaek avatar jonludlam avatar julow avatar khady avatar leonidas-from-xiv avatar maha-sachin avatar octachron avatar oyenuga17 avatar ozyugoo avatar panglesd avatar patricoferris avatar poorlydefinedbehaviour avatar rdavison avatar sabine avatar saysayo avatar the-amoghavarsha avatar thelortex avatar tmattio 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  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  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

ocaml.org's Issues

Improve GraphQL Tests

As discussed in #73 there are a few missing tests such as:

  • What if the limit is None?
  • What if the offset is not 0?
  • Are the correct 3 packages returned when you ask for and offset 0 and limit 3?
  • A test to check for correct functionality for edge cases in limit and offset (negative, out of bounds etc.)
  • Correctly returning None if a package is not found
  • Should the length of packages be something the function calculates rather than something the user passes in ?

(just for clarification, the current tests are great and are the only "real" ones -- this is just in response to some outstanding tasks in the original PR)

cc @dinakajoy

Add tests for graphql endpoint

Once #60 is merged, we will need to right some tests for it, we've decided to split the two given how young this repository is (and lack of testing there already is) so as to not block that PR.

Handle HTML in README

This would allow to display the titles when they are centered (very common) and images (also very common).

Change all instances of images to include alt text

We use images in lots of different places (logos for companies, university emblems, background images for conferences etc.) -- since ood is the source of truth for which images we use, it is also probably the correct place to add alt text describing the images.

It would be good to change all instances of a path pointing to an image in media to something like:

module Image = struct
  type t = {
    path : string;
    alt : string;
  }
end

Add source for the "OCaml in numbers section"

I know it's based on the survey. INRIA created a detailed breakdown of the survey. The % points without the source send a very weak message. The opposite would be true if the source was provided.

Keeping in-sync with ocaml.org

This issue is a place to keep track of changes upstream in ocaml.org whilst ood is not the main, promoted placed to be storing this information. This issue can just be extended as new content is potentially merged in ocaml.org and closed later whenever we can do that.

To Do

  • Import r2c into industrial users #1573
  • Add the macOS/iOS app to "A First Hour with OCaml" #1582
  • Incorporate changes to "Data types" tutorial #1576
  • Add better currying description #1595
  • Add list tutorial #1565
  • initial ocaml on windows explanation #1600

To Monitor

  • Adds ‘Building and publishing’ tutorial (replacement PR) #1606
  • Add a solution for “94. An arithmetic puzzle.” in 99 Problems #1597
  • Rewrote set tutorial from scratch. #1596
  • Add an example of an adjacency list #1594
  • Update solution for 12 to be more succinct #1593
  • 99problems.md add solution for 22 #1592
  • update 99problems.md (number 13) #1591
  • 99problems update (number 12) #1590

Dynamically generate the default documentation index page

The default documentation index page can be generated dynamically so:

  • We don't have to re-generate all the documentation to update it
  • We can experiment on improving its design and content

Any package index.mld file should be respected, however.

Include blocks are not visibly demarcated.

Odoc usually shows a border on the right to show which sections come from included signatures. See the right-hand side of the include here:

Screenshot 2021-07-29 at 11 28 34

and the bottom of the included section here:
Screenshot 2021-07-29 at 11 29 29

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.