package reshowcase
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  A tool to create demos for your ReasonReact components
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      reshowcase-5.3.0.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=9c48a91801d1c3bbf0b4c849a2eb019255ee174a8bb95f06ab5ddf05fe37e504
    
    
  sha512=3c7960d2ab7f0bd715254af1b18b480f8e13f8211f300d71d80bc790e1527db4969c13ee6e8915e4bd3efb2088de86acff0e385e429133b2129d2e2dc28612a2
    
    
  Description
README
Reshowcase
⚠️ this is a fork of original tool with the following updates:
- Migrated to use Melange and Dune, instead of ReScript and Ninja
 - Use 
reason-reactinstead ofrescript-react - Use Reason syntax instead of ReScript syntax
 

open Reshowcase.Entry;
/* Create a demo*/
demo(({addDemo: _, addCategory}) => {
  /* Add a category */
  addCategory("Title", ({addDemo, addCategory: _}) => {
    /* Add an example*/
    addDemo("normal", ({string, _})
      /* Register "handles" from your JSX directly*/
      => <h1> {string("text", "hello")->React.string} </h1>);
    addDemo("font-size", ({string, int, _}) =>
      <h1
        style={ReactDOM.Style.make(
          /* Handles can be strings, ints, floats and booleans*/
          ~fontSize=
            {let size =
               int("font size", {min: 0, max: 100, initial: 30, step: 1});
             size->Belt.Int.toString ++ {js|px|js}},
          (),
        )}>
        {string("text", "hello")->React.string}
      </h1>
    );
  });
  /* Add another category */
  addCategory("Button", ({addDemo, addCategory: _}) =>
    addDemo("normal", ({string, bool, _}) =>
      <button disabled={bool("disabled", false)}>
        {string("text", "hello")->React.string}
      </button>
    )
  );
});
start();Install
Install opam package manager.
Then:
opam pin add reshowcase.dev git+https://github.com/ahrefs/reshowcase.git#mainThis will make the NodeJS script reshowcase available in your opam switch.
To make sure this script works, add the following dependencies to your application package.json:
  "devDependencies": {
    "copy-webpack-plugin": "^11.0.0",
    "html-webpack-plugin": "^5.5.0",
    "webpack": "^5.76.1",
    "webpack-dev-server": "^4.11.1",
  }Usage
To start / develop:
$ reshowcase start --entry=path/to/Demo.jsTo build bundle:
$ reshowcase build --entry=path/to/Demo.js --output=path/to/bundleIf you need custom webpack options, create the .reshowcase/config.js and export the webpack config, plugins and modules will be merged.
If you need a custom template, pass --template=./path/to/template.html.
Dependencies (6)
- reason-react-ppx
 - reason-react
 - 
  
    reason
  
  
    
>= "3.10.0" - 
  
    melange
  
  
    
>= "2.0.0" & < "3.0.0" - ocaml
 - 
  
    dune
  
  
    
>= "3.8" 
Dev Dependencies (3)
- 
  
    odoc
  
  
    
with-doc - 
  
    opam-check-npm-deps
  
  
    
with-test - 
  
    ocaml-lsp-server
  
  
    
with-dev-setup 
Used by
None
Conflicts
None
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page