From e3063610f73d13fce30be4ed05229daa9900212e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr> Date: Fri, 15 May 2020 08:52:09 +0200 Subject: [PATCH] [ivette/doc] refactoring readme --- ivette/CONTRIBUTING.md | 37 ++++++++++++++++++++++ ivette/INSTALL.md | 32 +++++++++++++++++++ ivette/README.md | 71 +++++++++++------------------------------- 3 files changed, 88 insertions(+), 52 deletions(-) create mode 100644 ivette/CONTRIBUTING.md create mode 100644 ivette/INSTALL.md diff --git a/ivette/CONTRIBUTING.md b/ivette/CONTRIBUTING.md new file mode 100644 index 00000000000..d76d6f8bf6e --- /dev/null +++ b/ivette/CONTRIBUTING.md @@ -0,0 +1,37 @@ +## Coding Guidelines + +- use `make app` (checked by GitLab-CI) +- per-directory `style.css` for CSS; +- caml-cased file names for typescript modules; +- indentation based on 2 spaces, no tabs; +- caml-case identifiers for exported members; +- no `export default` for libs, individual exports only; +- prefer use of `import * as AbcDef from '<path>/AbcDef'`; + +## Makefile Targets + +From the `./ivette` sub-directory of Frama-C main directory: + +``` +$ make app // Builds desktop app +$ make dev // Launch development version with live code editing +$ make doc // Generate development documentation (static) +$ make serve // Serve the documentation (makes it searchable) +``` + +Once build, the application can be launched from the command line +with `./bin/frama-c-gui`. + +The static documentation is available offline at `doc/html/index.html`. +However, searching the documentation does not work +with `file://` protocole, use `make serve` to use it. + +## Mirroring to Dome/Electron + +**Warning:** not recommanded until all codebase has been moved to TypeScript. + +The content of ./src/dome shall be kept in sync with +the public repository for Dome. An experimental support +for automated synchronisation is available with: +- `make dome-pull` for pulling Dome updates into Ivette +- `make dome-push` for pushing local updates into Dome diff --git a/ivette/INSTALL.md b/ivette/INSTALL.md new file mode 100644 index 00000000000..40eade6fcd2 --- /dev/null +++ b/ivette/INSTALL.md @@ -0,0 +1,32 @@ +# Installation + +Required package to be installed: +- `yarn` for node and node pakage management; +- `pandoc` for generating the documentation; + +# Emacs Configuration + +Emacs mode configuration can be setup with Typescript, Web-mode and Tide packages. +You can install them with `M-x package-install`: + +``` +M-x package-refresh-contents ;; updates your index +M-x package-install web-mode +M-x package-install typescript-mode +M-x package-install tidse +``` + +For configuring your `.emacs` accordingly, +please look at the `share/typescript-config.el` file. +It setup the Tide package to work with +`typescript-mode` for `*.ts` files (see also `tsfmt.json` config file) +and `web-mode` for `*.tsx` files. + +Usefull commands: + +``` +M-. goto definition +M-, back to previous point +M-x tide-documentation-at-point +M-x tide-error-at-point +``` diff --git a/ivette/README.md b/ivette/README.md index 575f15b84b5..27e6a2adb06 100644 --- a/ivette/README.md +++ b/ivette/README.md @@ -1,4 +1,22 @@ -## Dome Framework Guides +## Ivette + +Main entry points: +- [frama-c/server](modules/frama_c_server.html) Frama-C Server interaction (low level) +- [frama-c/states](modules/frama_c_states.html) high-level request management + +## Command Line + +The following options are recognized by `./bin/frama-c-gui`: + +- `--cwd` working directory of Frama-C server +- `--command` path to Frama-C binary +- `--socket` ZeroMQ socket address of the server + +The default working directory is the current one. +The default command is the local `bin/frama-c` of source installation. +The default socket is `ipc:///.frama-c.<pid>.io`. + +## Dome Guides - [Dome Framework](guides/dome.md.html) - [Quick Start](guides/quickstart.md.html) @@ -9,54 +27,3 @@ - [Custom Hooks](guides/hooks.md.html) - [Icon Gallery](guides/icons.md.html) - [Glossary](guides/glossary.md.html) - -## Setup - -From the `./ivette` sub-directory of Frama-C main directory: - -``` -$ make app -``` - -## Typescript with Emacs - -Emacs mode configuration can be setup with Typescript, Web-mode and Tide packages. -You can install them with `M-x package-install`: - -``` -M-x package-refresh-contents ;; updates your index -M-x package-install web-mode -M-x package-install typescript-mode -M-x package-install tidse -``` - -For configuring your `.emacs` accordingly, -please look at the `share/typescript-config.el` file. -It setup the Tide package to work with -`typescript-mode` for `*.ts` files (see also `tsfmt.json` config file) -and `web-mode` for `*.tsx` files. - -Usefull commands: -``` -M-. goto definition -M-, back to previous point -M-x tide-documentation-at-point -M-x tide-error-at-point -``` - -## Coding Guidelines - -- per-directory `style.css` for CSS; -- caml-cased file names for typescript modules; -- indentation based on 2 spaces, no tabs; -- caml-case identifiers for exported members; -- no `export default` for libs, individual exports only; -- prefer use of `import * as AbcDef from '<path>/AbcDef'`; - -## Mirroring to Dome/Electron - -The content of ./src/dome shall be kept in sync with -the public repository for Dome. An experimental support -for automated synchronisation is available with: -- `make dome-pull` for pulling Dome updates into Ivette -- `make dome-push` for pushing local updates into Dome -- GitLab