Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPP 02 - Ethdoc Plugin #2

Closed
defiboy opened this issue May 11, 2020 · 2 comments
Closed

RPP 02 - Ethdoc Plugin #2

defiboy opened this issue May 11, 2020 · 2 comments

Comments

@defiboy
Copy link
Contributor

defiboy commented May 11, 2020

Ethdoc Remix Plugin

Background

The current Remix Ethdoc Plugin is located at:

https://github.com/Machinalabs/remix-ethdoc

And hosted in surge http://machinalabs-remix-ethdoc-plugin.surge.sh/.

At the moment the Ethdoc plugin generates .md files with content that is generated from smart contracts.

There are some limitations with the .md files because at the moment Remix doesn't allow the preview of the generated documentation.

Proposal

  • Migrate existing codebase to a React based application.

  • Change .md files generation engine for a HTML based engine. So that users can preview and publish to a hosting provider (IPFS for the moment).

  • Modify the UI interface.

    • Allow users to generate and preview the documentation within Remix IDE.

    • Allow documentation publishing via 1 click button.

Design

Preview

Once a contract is clicked, we should generate and preview the documentation in the main panel.

ethdoc-plugin-with-preview-annotated

Remix Requirements

Remix should allow plugins to be positioned in the side panel and render content on the main panel.

Resources

https://solidity.readthedocs.io/en/develop/natspec-format.html

https://github.com/OpenZeppelin/solidity-docgen

https://github.com/aragon/radspec

@yann300
Copy link

yann300 commented May 11, 2020

this will be using OpenZeppelin doc gen?

@defiboy
Copy link
Contributor Author

defiboy commented May 11, 2020

I still need to decide because for what I see OpenZeppelin doc works in node.js environments and there are some dependencies that I'm also not sure if are fully supported in the browser. But the idea is to do a PoC and narrow down the options.

So at the end, I can either take doc generation engine from OpenZepellin doc and adapt to a Remix plugin but use a different template engine, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants