Giter Club home page Giter Club logo

docs's People

Contributors

abourget avatar alexprut avatar anthonyzzy avatar avionrouge avatar dependabot[bot] avatar dliuproduction avatar fproulx-dfuse avatar joshkauffman avatar jubeless avatar maoueh avatar matthewdarwin avatar olivierbeaulieu avatar phila82r avatar sduchesneau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

automate page params as much as possible

Currently, we have 8 page params on most pages that need to be managed manually.

  • weight: used to define page rank in a list of pages in the same folder
  • pageTitle: used to define the title of the page
  • pageTitleIcon: used to define the icon next to the title of the page
  • sideNav: used to show or hide the left side nav
  • sideNavTitle: used to define the title shown on the left side nav if the left side nav is visible
  • sideNavLinkRename: used to rename the side nav link of the current page
  • BookToC: used to show or hide the right side nav (table of content)
  • release: used to display a stable, beta, alpha status tag next to the page title

A bunch of these could be automated (or defaulted) just by looking at the section (url) and returning a default value based on that.

pageTitleIcon could be defined by the url https://docs.dfuse.io/eosio https://docs.dfuse.io/ethereum https://docs.dfuse.io/platform e.g. pageTitleIcon: eth if the root folder in the url is ethereum.

sideNav could be true only if we're not at the root of a section. e.g. sideNav: false if the url is anything else (if we're deeper) than https://docs.dfuse.io/eosio or https://docs.dfuse.io/ethereum or https://docs.dfuse.io/platform

sideNavTitle could use the section's sub-section to define itself. e.g. sideNavTitle: dfuse Cloud if the url is https://docs.dfuse.io/platform/dfuse-cloud or https://docs.dfuse.io/platform/dfuse-cloud/xxxx

Make protobuf files accessible publicly

Python and Go guides use gRPC, which depends on the protobuf files. Currently, the examples reference public repos that contain a copy of the protobuf files that may or may not be out of date.

A solution would be to create a public repo that would become the source of truth for protobuf files.

Furthermore, a user going through the guides right now need to have protoc installed and compile the protobufs themselves. Ideally, we should provide compiled protobufs in this repo as well, so that we can simplify the guides. The user would simply wget the compiled files, and carry on with the rest of the tutorials.

cc @billettc

graphiql examples on `searchTransactions` missing required argument `indexName`

remove extra sections in left side nav

We're currently displaying all available sections in the left side nav, but all sections except the current one should be hidden to the user to remove as much noise as possible from the screen. The top level nav is used to navigate the sections, the left side nav is used to navigate the current section only, and the right side nav is only used as a table of content for the current page.

The side nav title is also redundant and the second one should be removed.

Image 2020-07-23 at 6 00 32 PM

no option to close pricing banner

The pricing banner takes up too much real estate in the docs. It should auto-collapse after x seconds or give the user the option to close the banner. It's bad UX in general to leave a notification banner with no way to close it by the user. Especially if the banner pushes all the content down instead of overlapping current content.

noindex old staging docs

The the old staging environment (https://staging.docs.dfuse.io/) is

  1. Being indexed by Google - no staging environment should be indexed by search engines.
  2. Online -- it’s not needed anymore and should be taken down.

If, for some reason we still need this staging environment, please add this meta to all pages:
<meta name="robots" content="noindex">

This will stop crawlers from indexing the staging environment. If we can shut it down, let’s just take the server down.

free account links need to be edited

All links sending users to https://app.dfuse.io to create a free account should be edited to https://www.dfuse.io/pricing instead of https://app.dfuse.io because of the recent pricing changes. It will allow users to select a free account for testnets (dfuse) or the Community Edition (EOS Nation).

Subsequently, we could have 2 buttons, one with a link to the free testnet account, and one to the CE account, but it will become hard to maintain at some point. I believe that the first approach is best.

auto update release notes page

https://docs.dfuse.io/eosio/public-apis/release-notes/
https://docs.dfuse.io/eosio/admin-guide/release-notes/

and eventually https://docs.dfuse.io/ethereum/public-apis/release-notes/
https://docs.dfuse.io/ethereum/admin-guide/release-notes/

These should be automatically fetched when we have a new release (or update an already released "release notes" with new notes or corrections). https://github.com/dfuse-io/dfuse-eosio/releases is our single source of truth.

For the Public APIs release notes, everything between # Public API Changes and # System Administration Changes should be included in the release.

For the [System Admin] release notes, everything after # System Administration Changes should be fetched.

Extract code samples from the docs repo, with markers

We'd like to have markers inside .py, .go, .js example files. Currently, they are in quickstarts/*.

Example:

func main() {
    var prep = "hello"
// DFUSE:BEGIN:quickstart_go_search_eos_section1
    var some = "code"
    var to = "show"
// DFUSE:END:quickstart_go_search_eos_section1
}

We need a preprocessing step, that will crawl all files under quickstarts that contain those DFUSE:BEGIN tags. We ignore the first chars (no matter how they're commented out.., with #, or ;; or // ...)

We build a .json output that we drop in /data/samples.json, looking like:

{"quickstart_go_search_eos_section1": "    var some = \"code\"\n    var to = \"show\""}

In hugo, we can reference these with {{ .Data.samples.quickstart_go_search_eos_section1 | highlight }}

Replace those line numbered samples that extract from the quickstarts right now, with this new method.

Port and organize Ethereum examples

  • Implement Ethereum versions of samples when available

  • Migrate public github example repos to docs repo

  • example-graphql-grpc

  • example-search-ethereum

  • example-stream-ethereum

  • example-stream-transfers (eos)

  • example-dfuse-events

  • example-stream-action-rates (eos)

  • example-transaction-lifecycle (eth)

  • example-graphql-apollo

  • example-graphql-apollo-stats

  • example-graphql-python

  • example-eos-rex-price-feed

  • example-push-notifications

  • example-dfuse-events-contract

  • example-node-server

  • example-eosjs-decode-hex

  • example-push-guaranteed

  • Migrate advanced examples from client.js to docs

To Review: https://github.com/dfuse-io/client-js/tree/master/examples/advanced

Show examples with real tokens

If a user is logged in, the dfuse docs should be displaying examples with the user's token, like Stripe is doing, so that the examples can be copy and pasted as is.

make current section clearer

It is currently hard to know in which section you are (EOSIO, Ethereum, Platform) from a quick look at your screen. For a better UX, I believe the bg color of the top banner should be different, depending on the section that you're currently in.

e.g. using the brand color as the bg color of the section's top banner
EOSIO: #111A44
Ethereum: #8B93B3
dfuse Platform: #FF4660

@avionrouge feel free to make suggestions to enhance the UX as well.

confirm component description

Check #93 with someone from engineering team to make sure the temporary descriptions taken from the component READMEs are accurate.

add `ref` to all internal links

Using [Reference: Ethereum Search Terms](/ethereum/public-apis/reference/search-terms) vs using
[Reference: Ethereum Search Terms]({{< ref "/ethereum/public-apis/reference/search/search-terms" >}})

if we don't use ref, then build-time link checking isn't done
e.g. when someone renames a file, it'll go unnoticed

Better explain the core dfuse features

To better reflect our new website structure, each "core feature" should have a dedicated section in the docs with examples to better expand on what these features are, use cases and examples on how to use them.

e.g. State
Lifecycle
Search
Push Guarantee

The website will have 1 page per feature, explaining the feature and linking to the docs where that feature is explained in more technical details.

revise aliases in new docs

A first pass has been done to re-direct the old docs structure to the new one, but there were some recent changes that might have broken that already. A better job needs to be done to compare the old docs url to the current one and create aliases on each page as required.

Getting Started/Other Languages in EOSIO contains some ETH

I wasn't sure how to properly remove this, as it is pulling the code snippet from somewhere else, and I'm not sure how it should/needs to be changed.

On this page: https://docs.dfuse.io/guides/eosio/getting-started/other-languages/
under number 6 - Full Working Examples, the code snippet in Go just below there contains

    case "ethereum", "ETH":
        streamEthereum(context.Background())
    default:
        streamEOSIO(context.Background())```

But maybe it needs to contain that as it does something different for each chain.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.