ocsigen / wikidoc Goto Github PK
View Code? Open in Web Editor NEWConvert OCaml documentation to wiki.
Home Page: http://ocsigen.org/
Convert OCaml documentation to wiki.
Home Page: http://ocsigen.org/
== 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
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.
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
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.
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.
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:
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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.