ocsigen / html_of_wiki

Other
6 stars 3 forks source link

<<docversion>> Doc of all versions of each project? #26

Closed balat closed 6 years ago

balat commented 6 years ago

Hello @ghuysmans , I see only the last version of each project. Is it on purpose? Is it easy to change this to have all the versions? Thanks! Vincent

ghuysmans commented 6 years ago

how only generates HTML for reachable pages. I've just seen that I forgot to provide the version selector (with a bit of Javascript to redirect the user), but I can't get it to compile on my own computer: it seems that my local configuration led to a different package set (with sometimes strange version constraints), so could you issue something like opam switch export universe_for_<version> so that I can finally add a few lines of code?

A quick hack would consist in generating a link to every existing version of every project. Just add this in src/versions.ml (untested but it should be okay), and build with ocamlbuild -use-ocamlfind -ocamlc "ocamlc -thread" src/versions.byte:

let () =
  Projects.init "/path/to/data";
  Projects.projects |>
  List.iter @@ fun (p: Projects.t) ->
    p.versions |> List.iter @@ fun v ->
      print_endline @@
        "<<a_manual project=\"" ^ p.name ^ "\" version=\"" ^
        Version.to_string v ^ "\"|" ^
        p.name ^ ">>"
balat commented 6 years ago

Here you are: (I'm still using 4.04) Thanks by advance!

asn1-combinators        0.2.0   installed
astring 0.8.3   installed
base    v0.9.3  root
base-bigarray   base    root
base-bytes      base    installed
base-num        base    installed
base-threads    base    root
base-unix       base    root
base64  2.2.0   installed
batteries       2.8.0   installed
biniou  1.2.0   installed
bisect_ppx      1.3.2   installed
bs-aws  0.3     root    git     git@github.com:besport/bs-aws.git
calendar        dev     root    git     git@github.com:besport/calendar.git
camlp4  4.04+1  installed
camlzip 1.07    root
camomile        0.8.7   installed
cmdliner        1.0.2   installed
cohttp  1.0.0   root
cohttp-lwt      1.0.0   installed
cohttp-lwt-unix 1.0.0   root
conduit 1.0.0   installed
conduit-lwt     1.0.0   installed
conduit-lwt-unix        1.0.2   installed
conf-gmp        1       installed
conf-gmp-powm-sec       1       installed
conf-libpcre    1       installed
conf-m4 1       installed
conf-mysql      1       installed
conf-openssl    1       installed
conf-perl       1       installed
conf-pkg-config 1.0     installed
conf-which      1       installed
conf-zlib       1       installed
configurator    v0.9.1  installed
cordova-plugin-contacts dev     root    git     https://github.com/dannywillems/ocaml-cordova-plugin-contacts.git
cordova-plugin-file-transfer    1.0     root    git     git@github.com:dannywillems/ocaml-cordova-plugin-file-transfer.git
cordova-plugin-intent   dev     root    git     git@github.com:besport/ocaml-cordova-plugin-intent.git
cordova-plugin-push-notifications       1.1.2   root
cordova-plugin-screenshot       1.0     root    git     https://github.com/aik9508/ocaml-cordova-plugin-screenshot.git
cppo    1.6.0   installed
cppo_ocamlbuild 1.6.0   installed
cpuid   0.1.1   installed
cryptokit       1.12    installed
cstruct 3.2.1   installed
cstruct-lwt     3.2.1   installed
csv     2.0     installed
dbm     1.0     root
depext  1.0.5   root
deriving        0.7.1   installed
easy-format     1.3.0   installed
eliom   dev     installed       git     git@github.com:/ocsigen/eliom.git
extractpath     0.1     root    git     git@github.com:pw374/extractPath.git
ezjsonm 0.5.0   root
fieldslib       v0.9.0  installed
fileutils       0.5.3   installed
fmt     0.8.5   installed
gen_js_api      1.0.3   root
geoloc  1.0     root    git     git@github.com:besport/geoloc.git
glical  0.0.7   root
hex     1.2.0   installed
html_of_wiki    0.5     root    path    /home/balat/prog/kroko/ocsigen/html_of_wiki
imagemagick     0.34-1  installed
ipaddr  2.8.0   installed
jbuilder        1.0+beta16      installed
js_of_ocaml     dev     installed       git     git@github.com:ocsigen/js_of_ocaml.git
js_of_ocaml-camlp4      dev     installed       git     git@github.com:ocsigen/js_of_ocaml.git
js_of_ocaml-compiler    dev     installed       git     git@github.com:ocsigen/js_of_ocaml.git
js_of_ocaml-lwt dev     installed       git     git@github.com:ocsigen/js_of_ocaml.git
js_of_ocaml-ocamlbuild  dev     root    git     git@github.com:ocsigen/js_of_ocaml.git
js_of_ocaml-ppx dev     installed       git     git@github.com:ocsigen/js_of_ocaml.git
js_of_ocaml-ppx_deriving_json   dev     installed       git     git@github.com:/ocsigen/js_of_ocaml.git
js_of_ocaml-tyxml       dev     installed       git     git@github.com:ocsigen/js_of_ocaml.git
jsonm   1.0.1   installed
lambda-term     1.12.0  installed
lazy-trie       1.0.0   root
logs    0.6.2   installed
lwt     dev     root    git     git@github.com:ocsigen/lwt.git
lwt_react       1.1.0   installed
lwt_ssl 1.1.1   installed
macaque 0.7.4   installed
magic-mime      1.1.0   installed
menhir  20171013        installed
merlin-extend   0.3     installed
mirage-no-solo5 1       installed
mirage-no-xen   1       installed
mpp     0.3.1   root
mysql   1.2.1   root    git     git@github.com:besport/ocaml-mysql.git
nocrypto        0.5.4   installed       git     git@github.com:besport/ocaml-nocrypto.git#thread
num     0       installed
oasis   0.4.10  installed
ocaml-compiler-libs     v0.9.0  installed
ocaml-googlemaps        1.1     root    git     git@github.com:besport/ocaml-googlemaps.git
ocaml-js-stdlib dev     root    git     https://github.com/dannywillems/ocaml-js-stdlib.git
ocaml-migrate-parsetree 1.0.7   installed
ocamlbuild      0.12.0  installed
ocamlfind       1.7.3-1 installed
ocamlify        0.0.1   installed
ocamlmod        0.0.9   installed
ocamlnet        4.1.5   installed
ocb-stubblr     0.1.1   installed
ocp-build       1.99.18-beta    installed
ocp-indent      1.6.1   root
ocplib-endian   1.0     installed
ocsigen-i18n    3.1.0   root    git     git@github.com:/besport/ocsigen-i18n.git#typed-var
ocsigen-start   dev     root    git     git@github.com:/ocsigen/ocsigen-start.git
ocsigen-toolkit dev     installed       git     git@github.com:/ocsigen/ocsigen-toolkit.git
ocsigenserver   dev     installed       git     git@github.com:/ocsigen/ocsigenserver.git
octavius        1.2.0   installed
optcomp 1.6     installed
pcre    7.3.4   installed
pgocaml 2.3+dev installed       git     git@github.com:ghuysmans/pgocaml.git
phosphor        0.2     root    git     git@github.com:besport/phosphor.git
ppx_ast v0.9.1  installed
ppx_base        v0.9.0  installed
ppx_blob        0.2     installed
ppx_compare     v0.9.0  installed
ppx_core        v0.9.0  installed
ppx_derivers    1.0     installed
ppx_deriving    4.2.1   installed
ppx_driver      v0.9.1  installed
ppx_enumerate   v0.9.0  installed
ppx_fields_conv v0.9.0  installed
ppx_hash        v0.9.0  installed
ppx_js_style    v0.9.0  installed
ppx_metaquot    v0.9.0  installed
ppx_optcomp     v0.9.0  installed
ppx_sexp_conv   v0.9.0  installed
ppx_tools       5.0     installed
ppx_tools_versioned     5.0.1   installed
ppx_traverse_builtins   v0.9.0  installed
ppx_type_conv   v0.9.1  installed
ptime   0.8.3   installed
re      1.7.1   installed
react   1.2.1   installed
reactiveData    dev     installed       git     git@github.com:ocsigen/reactiveData.git
reason  3.0.4   root
result  1.2     installed
safepass        2.0     installed
sexplib v0.9.2  installed
sqlite3 4.3.2   root
ssl     0.5.5   installed
stdio   v0.9.0  installed
stringext       1.5.0   installed
syndic  1.5.3   root    git     git@github.com:besport/Syndic.git
topkg   0.9.1   installed
typerex-build   1.99.17-beta    installed
tyxml   4.1.0   installed
uchar   0.0.2   installed
uri     1.9.5   installed
utop    2.0.2   installed
uucp    10.0.1  installed
uunf    10.0.0  root
uuseg   10.0.0  root
uutf    1.0.1   installed
x509    0.6.1   root
xmlm    1.3.0   installed
yojson  1.4.0   installed
zarith  1.7     installed
zed     1.6     installed
aws     --      uninstalled             git     git@github.com:besport/aws.git
cordova-ocaml-plugin-calendar   --      uninstalled             git     https://github.com/krzischp/cordova-ocaml-plugin-calendar.git
cordova-plugin-calendar --      uninstalled             git     https://github.com/dannywillems/ocaml-cordova-plugin-calendar.git
ocaml-cordova-plugin-contacts   --      uninstalled             git     git@github.com:dannywillems/ocaml-cordova-plugin-contacts.git
ocaml-cordova-plugin-intent     --      uninstalled             git     https://github.com/krzischp/ocaml-cordova-plugin-intent.git
scalepath       --      uninstalled             git     git@github.com:pwbs/scalePath.git
ghuysmans commented 6 years ago

Meh:

$ opam switch 4.04.0
$ eval `opam config env`
$ opam import universe
...
The following dependencies couldn't be met:
  - bs-aws -> lwt -> ocamlfind >= 1.7.3-1
Your request can't be satisfied:
  - No package matches ocamlfind>=1.7.3-1.

No solution found, exiting

I'll pin them manually, then...

balat commented 6 years ago

ping @ghuysmans Did you have time to look at this? I manage to make your solution work and I will try to create to create a dropdown manually for each project. But this will be difficult to maintain ... Your partial solution does not work, as it makes links towards the root page of the project, not the current page ...