Giter VIP home page Giter VIP logo

wikidoc's Introduction

== Configuration ==

Copy Makefile.config into Makefile.local ; and customize

== How to build the ocsigen book ? ==

$ make texsrc
$ make tex/ocsigen.pdf

== How to generate the wiki API ? ==

For all api:

$ make api

Or one project at a time :

$ make lwt
$ make js_of_ocaml
$ make tyxml
$ make server
$ make eliom
$ make oclosure

On ocsigen.org, if you are a sudoers, you may publish the API:

$ make api.install

Or for a specific project or a specific version:

$ make eliom.install
$ ELIOM_VERSION=2.0.2  make eliom.install

== Building & install tools ==

The following commands will build and install 'latex_of_wiki' and
'odoc_wika.cma'.

$ make all
$ make install

wikidoc's People

Contributors

aantron avatar balat avatar chambart avatar dependabot[bot] avatar drup avatar ghuysmans avatar hhugo avatar hnrgrgr avatar ilankri avatar smorimoto avatar vasilisp avatar vouillon avatar

Stargazers

 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

wikidoc's Issues

Not compatible with OCaml 4.08

I get this error when pinning wikidoc on 4.08:

File "odoc_wiki.ml", line 147, characters 19-38:
147 | module StringSet = Odoc_html.StringSet
                         ^^^^^^^^^^^^^^^^^^^
Error: Unbound module Odoc_html.StringSet
Hint: Did you mean String?

It works on 4.07.

Build fails on 4.09

Seeing this error with wikidoc master:

#=== ERROR while compiling wikidoc.dev ========================================#
# context              2.0.6 | linux/x86_64 | ocaml-base-compiler.4.09.0 | pinned(git+https://github.com/ocsigen/wikidoc.git#8c10fd29)
# path                 ~/build/ocsigen/lwt/_opam/.opam-switch/build/wikidoc.dev
# command              /usr/bin/make BINDIR=/home/travis/build/ocsigen/lwt/_opam/bin
# exit-code            2
# env-file             ~/.opam/log/wikidoc-24055-b6f8d4.env
# output-file          ~/.opam/log/wikidoc-24055-b6f8d4.out
### output ###
# [...]
# ocamlfind ocamlc -c -I /home/travis/build/ocsigen/lwt/_opam/lib/ocaml/ocamldoc -I /home/travis/build/ocsigen/lwt/_opam/lib/ocaml/compiler-libs/ -I /home/travis/build/ocsigen/lwt/_opam/lib/ocaml/compiler-libs/parsing -I /home/travis/build/ocsigen/lwt/_opam/lib/ocaml/compiler-libs/typing odoc_import.ml
# findlib: [WARNING] Interface topdirs.cmi occurs in several directories: /home/travis/build/ocsigen/lwt/_opam/lib/ocaml, /home/travis/build/ocsigen/lwt/_opam/lib/ocaml/compiler-libs
# File "odoc_import.ml", line 175, characters 13-35:
# 175 |     | Types.(Mty_functor (Unit, mt)) -> Mty_functor (Unit, iter mt)
#                    ^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Mty_functor expects 3 argument(s),
#        but is applied here to 2 argument(s)
# Makefile:45: recipe for target 'odoc_import.cmo' failed
# make[1]: *** [odoc_import.cmo] Error 2
# make[1]: Leaving directory '/home/travis/build/ocsigen/lwt/_opam/.opam-switch/build/wikidoc.dev/src/odoc_wiki'
# Makefile.odoc:11: recipe for target 'all' failed
# make: *** [all] Error 2

Wrong "side" with module auto-detection.

wikidoc used with eliom sometimes detect the wrong side of client/server doc. For example, in the tutorials, there was <<a_api project="eliom"| module Eliom_registration.Redirection>> and wikidoc linked to the client side of the doc, instead of the server one.

update for ocaml 4.04 and add to opam repo

Currently, make doc for eliom is broken due to wikidoc not being found, and wikidoc is not in opam. When I tried to pin it from git and install it, it said it needed ocaml < 4.03, but it wasn't in the opam index for 4.02.3 either.

Verbatim block handling is tricky

To get wikidoc to produce the correct Wiki Creole markup for a multiline verbatim block, it is necessary to do something like this:

  {v

    foo
 v}
(* this comment is for clarifying alignment *)

Note the blank line after {v and single space before v}, both of which are required. Skipping the blank line results in {{{foo (no line break after {{{). Not inserting a space before v} results in foo}}}, whereas inserting more than one space results in spaces on the line before }}}. All of these cause Ocsimore not to parse the block as verbatim text.

I'm not sure if this is really a problem of wikidoc or ocamldoc. Ocsimore's lexer appears to be fine.

See:

Not compatible with OCaml 4.06+

In 4.06, in ocaml/ocaml#804, ocamldoc's Odoc_html.text#html_of_text method got a new optional argument ?with_p. Some of the classes in Odoc_wiki are not compatible with this, especially since at least one explicitly declares the old signature for this method, and we still need to be compatible with older OCaml.

Given this class Odoc_wiki.info, I'm not sure what's the best way to resolve the issue.

Build fail on OCaml 4.13 and/or odoc 2.0

I was trying to build the Lwt manual locally, and I got this error. I'm using OCaml 4.13 and odoc 2.0.
Using wikidoc 8c10fd2 (current master).

#=== ERROR while compiling wikidoc.~dev =======================================#
# context     2.0.8 | win32/x86_64 | ocaml-variants.4.13.1+mingw64c | pinned(git+https://github.com/ocsigen/wikidoc.git#8c10fd29)
# path        ~/.opam/ocaml-variants.4.13.1+mingw64c/.opam-switch/build/wikidoc.~dev
# command     C:\OCaml64\bin\make.exe BINDIR=C:/Users/antonin/.opam/ocaml-variants.4.13.1+mingw64c/bin
# exit-code   2
# env-file    ~/.opam/log/wikidoc-6824-a00279.env
# output-file ~/.opam/log/wikidoc-6824-a00279.out
### output ###
# /usr/bin/make -C src/odoc_wiki
# make[1]: Entering directory '/cygdrive/c/Users/antonin/.opam/ocaml-variants.4.13.1+mingw64c/.opam-switch/build/wikidoc.~dev/src/odoc_wiki'
# ocamlfind ocamlc -c -I C:/Users/antonin/.opam/ocaml-variants.4.13.1+mingw64c/lib/ocaml/ocamldoc -I C:/Users/antonin/.opam/ocaml-variants.4.13.1+mingw64c/lib/ocaml/compiler-libs/ -I C:/Users/antonin/.opam/ocaml-variants.4.13.1+mingw64c/lib/ocaml/compiler-libs/parsing -I C:/Users/antonin/.opam/ocaml-variants.4.13.1+mingw64c/lib/ocaml/compiler-libs/typing odoc_import.ml
# File "odoc_import.ml", line 35, characters 23-38:
# 35 |     | Types.Tlink t2 | Types.Tsubst t2 -> need_parent t2
#                             ^^^^^^^^^^^^^^^
# Error: The constructor Types.Tsubst expects 2 argument(s),
#        but is applied here to 1 argument(s)
# make[1]: *** [Makefile:45: odoc_import.cmo] Error 2
# make[1]: Leaving directory '/cygdrive/c/Users/antonin/.opam/ocaml-variants.4.13.1+mingw64c/.opam-switch/build/wikidoc.~dev/src/odoc_wiki'
# make: *** [Makefile.odoc:11: all] Error 2

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.