Skip to content

Commit

Permalink
[IMP] lint
Browse files Browse the repository at this point in the history
[ADD] newly generated README.rst
  • Loading branch information
gfcapalbo committed Sep 21, 2022
1 parent 06ee87b commit d35c428
Show file tree
Hide file tree
Showing 3 changed files with 150 additions and 88 deletions.
114 changes: 114 additions & 0 deletions web_widget_html_markdown/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
========================
Web Widget Html Markdown
========================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
:target: https://github.com/OCA/web/tree/14/web_widget_html_markdown
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-14/web-14-web_widget_html_markdown
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/162/14
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

Behaviour of the module and best practices
==========================================

This module implements a Markdown editor on Html fields, in contrast to web_widget_text_markdown, which implements it on Text fields. In readonly mode, the widget displays HTML, but when editing, the widget offers you an option to edit in Markdown or in HTML. If you edit markdown, it will save as the rendered HTML, but with the source Markdown embedded inside a <script> tag. When editing again, it will show you the Markdown source. If you edit HTML, you will lose the Markdown and the content will just behave as a regular HTML field with an HTML widget.

Utility of this module vs web_widget_text_markdown
==================================================
The benefit of this module over web_widget_text_html is that it allows markdown-editing of HTML fields such as for example the mail.message body for the chatter, or HTML fields that end up in printed reports such as the Quotation description. Such fields cannot be converted to Text fields because it will cause problems for their functionality. But with this widget, they can still be edited as Markdown.

A difficulty with this module is that once you start editing a field as HTML, whether with this Markdown widget in HTML mode, or through a view that has the normal HTML editor, you will lose the Markdown source and you will have to keep editing the field as HTML, or do a backconversion to Markdown. This backconversion is always lossy to a certain extent and we did not bother implementing it - but it's something for the roadmap.
.

**Table of contents**

.. contents::
:local:

Usage
=====

Your XML form view definition should contain:

...
<field name="field_name" widget="html_markdown"/>
...

This will replace the default Html widget with the new Markdown/HTML widget and
allow the field to be edited as Markdown or HTML, depending on the user's choice.

#### Options
- default_markdown_on_new : if true when creating a new record, markdown will
be selected by default.
- only_markdown_on_new : if true when creating a new record, only markdown
will be present on radiobutton.

Known issues / Roadmap
======================

* Implement conversion from HTML to Markdown, either through a JS or a Python module, instead of not allowing it, or allowing it only after HTML is emptied.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_widget_html_markdown%0Aversion:%2014%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Giovanni Francesco Capalbo
* Therp B.V.

Contributors
~~~~~~~~~~~~

* Tom Blauwendraat <[email protected]>
* Kevin Kamau <[email protected]>
* Giovanni Francesco Capalbo <[email protected]>

Other credits
~~~~~~~~~~~~~

* Therp B.V. <https://therp.nl>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/web <https://github.com/OCA/web/tree/14/web_widget_html_markdown>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
49 changes: 11 additions & 38 deletions web_widget_html_markdown/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: http://docutils.sourceforge.net/" />
<title>Web Widget Html Markdown Unidirectional</title>
<title>Web Widget Html Markdown</title>
<style type="text/css">

/*
Expand Down Expand Up @@ -360,8 +360,8 @@
</style>
</head>
<body>
<div class="document" id="web-widget-html-markdown-unidirectional">
<h1 class="title">Web Widget Html Markdown Unidirectional</h1>
<div class="document" id="web-widget-html-markdown">
<h1 class="title">Web Widget Html Markdown</h1>

<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
Expand All @@ -370,36 +370,13 @@ <h1 class="title">Web Widget Html Markdown Unidirectional</h1>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/web/tree/14/web_widget_html_markdown"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-14/web-14-web_widget_html_markdown"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/162/14"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<div class="section" id="behaviour-of-the-module-and-best-practices">
<h1>Behaviour of the module and best practices</h1>
<ul class="simple">
<li>In readonly mode, the widget renders as Html</li>
<li>In editable mode, there is a switcher to choose if the source should be HTML or Markdown. If HTML, it shows the HTML edit widget. If Markdown, it shows a markdown widget. When done editing, it will save in the field as Html, no matter which widget is chosen.</li>
<li><dl class="first docutils">
<dt>The Module converts only from markdown to html, so if i am writing HTML and then switch to markdown, i will lose all my HTML.</dt>
<dd><ul class="first last">
<li>when switching from markdown to HTML: the markdown will always be converted and saved in html.</li>
<li>if I switch again from HTML to markdown, i will lose all my html again, only the part i wrote in markdown will be preserved.</li>
</ul>
</dd>
</dl>
</li>
<li>Module provides a warning “You will lose all your current HTML if you switch to markdown”</li>
<li><dl class="first docutils">
<dt>Best usages of this module:</dt>
<dd><ol class="first last arabic">
<li>As normal Html editor, only HTML</li>
<li>Write some markdown and then add some HTML. ( will cause loss of HTML if you edit markdown again)</li>
<li>Only markdown.</li>
</ol>
</dd>
</dl>
</li>
<li>RE-editing pure markdown content is LOSSLESS because we preserve the markdown content in a special tag.</li>
<li>Every switch to markdown will cause destruction of HTML. Html Can Be added after writing Markdown part but will always be deleted.</li>
</ul>
<p>This module implements a Markdown editor on Html fields, in contrast to web_widget_text_markdown, which implements it on Text fields. In readonly mode, the widget displays HTML, but when editing, the widget offers you an option to edit in Markdown or in HTML. If you edit markdown, it will save as the rendered HTML, but with the source Markdown embedded inside a &lt;script&gt; tag. When editing again, it will show you the Markdown source. If you edit HTML, you will lose the Markdown and the content will just behave as a regular HTML field with an HTML widget.</p>
</div>
<div class="section" id="utility-of-this-module-vs-web-widget-text-markdown">
<h1>Utility of this module vs web_widget_text_markdown</h1>
<p>Why this module when web_widget_text_markdown already exists? Mainly because it is designed to work on Text fields, and most fields within Odoo are HTML fields for example: mail content, project.task description etc. Although you could develop a custom module that overrides these fields to be Text fields and render them on-screen as HTML, this rendering would not be done when the field is for example used in sending out a mail or fetching the field content through Odoo API. In these cases this widget comes in handy because it is plug-and-play: the field type and content remains as HTML, but you can choose to edit it with a markdown widget.</p>
<p>The benefit of this module over web_widget_text_html is that it allows markdown-editing of HTML fields such as for example the mail.message body for the chatter, or HTML fields that end up in printed reports such as the Quotation description. Such fields cannot be converted to Text fields because it will cause problems for their functionality. But with this widget, they can still be edited as Markdown.</p>
<p>A difficulty with this module is that once you start editing a field as HTML, whether with this Markdown widget in HTML mode, or through a view that has the normal HTML editor, you will lose the Markdown source and you will have to keep editing the field as HTML, or do a backconversion to Markdown. This backconversion is always lossy to a certain extent and we did not bother implementing it - but it’s something for the roadmap.
.</p>
<p><strong>Table of contents</strong></p>
</div>
<div class="section" id="usage">
Expand All @@ -409,9 +386,7 @@ <h1>Usage</h1>
&lt;field name=”field_name” widget=”html_markdown”/&gt;
</blockquote>
<p>The widget is used on a Html field to edit HTML or Markdown,
but the conversion is unidirectional, ONLY from Markdown to HTML.</p>
<p>This will replace the default Html widget by the new Markdown/HTML widget and
<p>This will replace the default Html widget with the new Markdown/HTML widget and
allow the field to be edited as Markdown or HTML, depending on the user’s choice.</p>
<blockquote>
<dl class="docutils">
Expand All @@ -429,7 +404,7 @@ <h1>Usage</h1>
<div class="section" id="known-issues-roadmap">
<h1>Known issues / Roadmap</h1>
<ul class="simple">
<li>HTML Will be lost when passing from Html to markdown</li>
<li>Implement conversion from HTML to Markdown, either through a JS or a Python module, instead of not allowing it, or allowing it only after HTML is emptied.</li>
</ul>
</div>
<div class="section" id="bug-tracker">
Expand All @@ -446,9 +421,7 @@ <h1>Credits</h1>
<h2>Authors</h2>
<ul class="simple">
<li>Giovanni Francesco Capalbo</li>
<li>Therp B.V.Komit</li>
<li>Sudokeys</li>
<li>Sunflower IT</li>
<li>Therp B.V.</li>
</ul>
</div>
<div class="section" id="contributors">
Expand All @@ -462,7 +435,7 @@ <h2>Contributors</h2>
<div class="section" id="other-credits">
<h2>Other credits</h2>
<ul class="simple">
<li>Therp B.V. <a class="reference external" href="https://therp.nl">https://therp.nl</a></li>
<li>Therp B.V. &lt;<a class="reference external" href="https://therp.nl">https://therp.nl</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
Expand Down
Loading

0 comments on commit d35c428

Please sign in to comment.