GithubHelp home page GithubHelp logo

rescript-association / reasonml.org Goto Github PK

View Code? Open in Web Editor NEW
126.0 126.0 34.0 3.15 MB

Deprecated in favor of rescript-lang.org

License: MIT License

JavaScript 28.59% CSS 3.03% C++ 0.93% Reason 67.45%

reasonml.org's People

Contributors

a-c-sreedhar-reddy avatar baransu avatar believer avatar bobzhang avatar chenglou avatar cknitt avatar cometkim avatar cristianoc avatar dcalhoun avatar dependabot[bot] avatar ewert-online avatar fhammerschmidt avatar itsjay26 avatar jacobp100 avatar jdeisenberg avatar jjlee avatar johnridesabike avatar lesha1201 avatar lessp avatar maarekj avatar nikgraf avatar relekang avatar ryyppy avatar sgrove avatar smlmrkhlms avatar sync avatar tatchi avatar theshortcut avatar tsnobip avatar wontheone1 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

reasonml.org's Issues

Add missing UI elements (for markdown content)

As reflected by the design here

Text Boxes

  • <WarnBox>
  • <InfoBox>
  • <UrlBox>

image

blockquote

image

ImageBox

image

Note how the image escapes the layout on both sites. Should be able to display the reference text / alt text.

Add search functionality for Belt docs

We will need to figure out a good index structure to efficiently look for all the necessary data.
Would be great to be able to classify by Belt and JS equivalent function.

Add pages title

I just noticed that pages don't have a title. I am willing to implement this feature.

Inline bs-blabla to the BuckleScript docs

BuckleScript needs a dedicated section for all its external decorators, such as [@bs.module], with proper examples and more thorough explanation on its use-cases.

bs-blabla is probably the most complete documentation on all available decorators so far, so it would be great to process the material in a way so it's easy to navigate on the docs. (I asked the original author for permission, not sure if he still needs to add a license file though)

How to do this?
All bucklescript related information lives in the pages/docs/reason-compiler/latest directory. The navigation can be extended in layouts/ReasonCompilerDocsLayout.re.

ReasonML: Add list of reserved keywords

As discussed here, it is a good idea to have a list of reserved keywords.

It would also be interesting to discuss certain syntax desugaring (such as __x for first pipe placeholder and type_ vs. type conversion in object attributes).

Prelude for examples?

The examples all work and pass the tests again, but there is some boilerplate in many of them.

Especially the

module IntCmp =
  Belt.Id.MakeComparable({
    type t = int;
    let cmp = Pervasives.compare;
  });

in Set or Map examples makes the whole thing harder to read. What if we had some prelude which gets copied implicitly to every example where it is needed?

The examples could have 2 viewing modes:

  • a concise one
  • a complete one

Fix broken examples

After #28 is merged, we should think about fixing the examples.
Most of them are straightforward, such as correcting map to Belt.Array.map etc.

Sidebar: distinguish current module from others?

Screenshot 2019-10-27 at 21 45 40

The currently open Module looks exactly like the other menu entries. I noticed this confused beginners who aren't that familiar with Belt.
I believe it would help if both would look a bit different or there would be some kind of visual horizontal rule.

Rust uses this:
Screenshot 2019-10-27 at 21 46 56

Long signatures are cut off

Currently long signatures don't fit and there is a horizontal scrollbar. For once sometimes it's not obvious that I can scroll and in general it's not a nice experience when trying to grasp the whole functions.

Screenshot 2019-10-27 at 21 41 12

For wider screens to we really need to cut them off?
For smaller screens would could wrap them to the next line?
Any other ideas?

API documentation structure, voice & tone

I would like to define how the ideal documentation structure, voice and tone for a module & its functions look like.

Ideally this results in a very crisp guide on how to do this. Once this is defined we can focus on aligning all of them. (Aligning them already came up 4 times or so).

If you have ideas or good examples please chime in here as well.

One example for a guide I like is this one: https://package.elm-lang.org/help/documentation-format

Larger Click areas in the Sidebar

Currently the click area is the size of the text. The smaller the text the harder it is to reach it easily.

Screenshot 2019-10-18 at 12 30 02

By applying display: block to the links the click area would be way larger.

Screenshot 2019-10-18 at 12 30 17

What do you think @bettistein @ryyppy?

Firefox: cannot scroll down to the bottom of the sidebar

I noticed that to get to the bottom of the sidebar on Firefox I have to scroll down to the bottom of the main page. You can see how the bottom of the sidebar is cropped in this screenshot from the 13" screen of my old macbook air. Works as intended on Chrome. Maybe something to keep in mind during #84 :)
Capture d’écran 2019-11-21 à 00 08 37

automatically verify & test examples

To ensure a given quality of the examples, the example-code inside the readmes shall be verified and tested automatically. (freely quoted from reasonml.org)

Let's use this issue to plan and track the process of this task.


  1. How should the process to publish and test examples look like?
  2. Do you know some tools we could use to achieve this task?

The search window should be fixed

Currently, when I moved from the top page to the API page, the search input position moves from right to left. This is little uncomfortable.

Old mds files used + broken link

screenshot from reasonml.org: image

and from reasonml.github.io:
image

Also I was able to trigger a 404 error when clicking on the here I thought adef6f3 helped to prevent that.

Unify API navigation

Currently we are only exposing a navigation for the Belt docs, but we would need some generalized navigation page to expose the Js and Node module as well.

This is probably a more complex issue, since we need to abstract some layout from the BeltDocsLayout module first.

Convert the ocaml-manual to Reason flavoured Markdown

The ocaml-manual is the official handbook for using OCaml. It fully describes all features and syntax elements and is highly valuable for explaining complex mechanisms, such as GADTs or polymorphic variants.

This is an ambitious task, I actually post it here so we don't forget about it. It's also a quite isolated task which will hopefully not interfere with our current work, if you feel like experimenting and have any progress, please let us know in this issue, so we can keep track of it.

What needs to be done?

  • Revive rtop with the most recent Reason version (\cc @jordwalke)
  • Create a mirror of the ocaml-manual repository
  • Use the ocaml manual build system to use rtop instead of utop to output Reason formatted signatures
  • Add refmt for reformatting ml codesnippets in the build system
  • Make the build system expose markdown / json instead of html

Especially the markdown rendering will be useful, since we will then be able to commit the generated markdown output in our existing infrastructure (also makes it easier for us to style).

First design alignment BuckleScript Belt

We want a first rough stylistic review for the Belt documentation to make it easier on the eyes early on.

Goals:

  • Search component
  • Module API Layout (such as Belt.List)
  • Prose Layout (such as Belt Overview)
  • Sidebar navigation (mobile support?)

The design should be provided via public URL.

Add Belt version string in the docs

Not sure where to put this, but it would be great to keep track of the Belt version somewhere visible (maybe header?). I was thinking of retrieving the bs-platform version from our package.json for now.

Create contribution guidelines

We need a CONTRIBUTING.md which contains following information:

How to give feedback for better documentation:
This includes feedback about everything related to Reason / BuckleScript / ReasonReact etc. Missing pieces of documentation, unclear instructions on using specific tools.

Example: I couldn't find any documentation on how to set an aria label in ReasonReact

How to report issues with existing documentation
In cases where documentation is wrong, broken, out-of-date etc.

How to contribute documentation
Especially with some information on what the current focus is, where help is needed, how to get an issue assigned etc.

Use github slugs for anchored links

Right now we didn't bother implementing the logic for sluggifying the hrefs and just used the ugly %20 / upper- and lowercased versions of title anchor links.

Example:

## Hello World

should translate to #hello-world instead of #Hello%20World

Things to do:

  • Add github-slugger logic to Markdown.re's <Anchor> component

Make sure:

  • That multiple titles with the same content are actually suffixed with a increasing number (e.g. #using and #using-1)
  • That the sidebars refer to the same sluggified anchor (sync logic between markdown rendering and TOC generation)

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.