Code Monkey home page Code Monkey logo

v2.ocaml.org's Introduction

OCaml.org Website

This is the source code implementing the ocaml.org website. Information here is relevant only to developers and content contributors. End-users of the website should simply visit the website, which is hosted at ocaml.org.

Note: if you just want to edit a page you do not need to follow the instructions below. Simply click on the pen in the top right corner of the page and you will be redirected to that page on GitHub where you can edit it and submit your changes without leaving your browser.

Dependencies

Dependencies can be installed by running make deps, which runs the necessary OPAM commands. See the opam file for more information on the required packages.

Note this is the only purpose of the opam file. This repository doesn't provide any resources intended for use in other projects, so it is not provided as a package in any opam repository.

In addition to the above opam packages, it is expected that the following programs are available:

  • bash
  • curl
  • rsync
  • GNU make

Build

The site consists only of static pages, so it can be built and run entirely on a local machine without dependencies on external file or database servers. Simply run:

make

(or make -j for a faster build on multicore machines. NB: you might need to limit the number of forks e.g make -j 8 ref).

This will generate a new folder ocaml.org that contains the full website. Note that building the site will attempt to connect to the Internet to download the news and latest email conversations. As usual, use make clean to delete the files generated by the compilation.

Directory Structure

site — Main content of the site. Most files are in Markdown syntax and converted to HTML by the build scripts.

template — Templates governing the overall look and feel of the site. These are applied to the pages within site/ when the site is built. References to templates within site pages should be of the form template/template-file-name because the build script assumes this directory structure.

script — Scripts used to build the site.

Maintainers

For maintainers of the site, the following notes describe how the site is built and deployed:

Deploy: The site is currently deployed automatically using ocurrent-deployer, which listens on the master and staging branches. The site is built using the Dockerfiles in Dockerfile.deploy and Dockerfile.staging for each version of the site, and pushed to https://ocaml.org and https://staging.ocaml.org/

Testing: If you wish to test a PR to see what it would look like live, simply push the branch to the staging branch of ocaml/ocaml.org.git and it will rebuild. There is a web interface showing the status of the builds for ocurrent-deployer.

The source code for the deployer can be found at https://github.com/ocurrent/ocurrent-deployer in the src/pipeline.ml.

Contacts

For general discussion about the site's implementation, you can post to the OCaml discussion forum.

Check the CONTRIBUTING.md file for more how to setup and start contributing to the project.

For a specific bug report, content suggestion, or feature request, please create an issue on GitHub. Or best of all, fork the repo, make changes to your copy, and submit pull requests. It's that easy!

v2.ocaml.org's People

Contributors

agarwal avatar amirmc avatar avsm avatar cagdasbozman avatar chris00 avatar dbuenzli avatar dmbaturin avatar dsheets avatar emillon avatar fccm avatar garrigue avatar gasche avatar gildor478 avatar goodiec avatar johnwhitington avatar komainu8 avatar lefessan avatar mclehman avatar mjambon avatar mk270 avatar mseri avatar nibble0101 avatar octachron avatar patricoferris avatar pw374 avatar samoht avatar teemperor avatar whitequark avatar xavierleroy avatar yashi-hub 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

v2.ocaml.org's Issues

support.html: remove link to Inria site

The follow this link part refers to Inria site, which is mostly the same content as this page. Remove this link, add the "How to become a member?" section directly to this page, along with the links therein. But the PDFs are in en and fr language and there is a form, so need to make sure these will work in our site.

create page on Caml Light

Create a single page for Caml Light covering all of: the Caml Light section of the Inria front-page, and the three links within it regarding About Caml Light, Latest release, and Manual.

Link to this page from menu and front-page, but not sure where it fits in.

tutorials.html: restructure the page

The tutorials page currently is a merger of content from various places, and some of the tutorials are more well-written than others, and some are embedded directly into this code while others are external links. Organize the content a bit better, and move tutorials that need work to the bottom with a nice "under construction" icon.

install.html: outline various install scenarios clearly

Installation instructions are all currently too sparse to be of practical use. As a first step, let's clearly outline the various instruction sets we would like, e.g. installing with godi on Unix, installing with godi on Mac OS X (if instructions differ at all from from Unix), installing from source, etc.

integrate OCaml Planet

The Community > Blogs currently links to an external site. Would be better to serve on ocamlweb's server, and unify styling with ocamlweb.

videos.html: needs more content

Videos page currently has only 3 videos. There are many more OCaml videos out there (such as all the ones from previous OCaml Users Meetings). All should be organized nicely in a youtube account and linked from here.

30mins.html: page is empty

Unless we have a readily available 30 minute tutorial, we should probably delete this empty page. The link to try.ocamlpro.com kind of covers the intended purpose of this page already.

OCaml API search: implement as service on server

The Use > OCaml API search menu item currently points to an external server. Would perhaps be better to run this server directly on the ocamlweb server if the tool is stable. Could then make sure it is configured to search over a large set of libraries.

news.html: fix formatting

This page is linked to from the "More news" button on the front page. The formatting is completely messed up.

Cross references

The Inria web site has many cross links that allow you to see oages of related interest. See the “Related Pages” box on e.g. A Hundred Lines of Caml. We should aim to provide such rich navigation possibilities.

pleac: port content into repo

Contact author of Pleac and request that content be imported directly into ocamlweb repo, and current link should be changed to re-direct to new page on this site.

<pre> spaces

It seems that editor modes do not cope well with <pre> tags. Should we use weberizer to process these tags, removing the spaces at the beginning of the lines and removing all white space (including newlines) before </pre>?

install.html: write high-level description of various installation options

Write an introductory section that lays out the possible installation options at a high-level. For example: "you can install from source, with Godi, with odb, on Mac with godi or homebrew, on Debian with built-in debian package manager, etc". And describe roughly the factors affecting the choice, e.g. "on Debian, the built-in packages are about 1 year behind the latest releases, so very stable but will not have latest versions".

provide official logos

Provide official OCaml logos. Use Inria's logos page as a starting point, but these are actually using the old name Caml. Someone updated these to "OCaml" and posted somewhere; search mailing list.

add link to old Inria site

We should somewhere link to caml.inria.fr as the "old Inria site", but not sure where to put it. Ideally, old Inria site would have banner added to top saying the site is deprecated.

books.html: improve design

The content here is okay, but could be designed a bit better. Would be nice to have thumbnails of book covers.

provide OCaml licenses

Inria site describes availability of OCaml with links to licenses, the normal one and the one for Consortium members. We should import these and link to them from description.html.

merge books.html and documentation.html

Would probably make more sense for these pages to be merged, with the different types of items structured into different sections. There should still be separate links in the menu and frontpage that go to the specific sections.

add link to Learning OCaml, for C, C++, Perl and Java programmers

Richard Jones apparently wrote a nice tutorials called Learning OCaml, for C, C++, Perl and Java programmers. The [link](Learning OCaml, for C, C++, Perl and Java programmers) is however dead. Find out if it still exists elsewhere, and add in tutorials/index.html under the Coming From Another Language section.

link to Inria's RSS feed

Should the Inria RSS Channel be displayed on front page somewhere? Unlike current News section, it has only small news items. Alternatively, perhaps it should just be added to the Planet, which it currently appears not to be.

meetings.html: add more content

This page is quite sparse. List more meetings and regional groups (e.g. NYC OCaml Meetup). Consider listing ICFP and CUFP.

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.