smapiot / piral

🚀 Framework for next generation web apps using micro frontends. ⭐️ Star to support our work!
https://piral.io
MIT License
1.7k stars 125 forks source link

Suggestion to improve documentations #206

Closed lamson-dev closed 4 years ago

lamson-dev commented 4 years ago

Suggestion to improve documentations

Description

I have a thought and want to share. More like a personal opinion. I've found it difficult to navigate through Piral documentations.

Piral Team has done an amazing job and documenting everything which makes getting started with Piral easy. Though on a day-to-day basis, I find myself needing to refer to the doc often... and struggling to find the info I need in a few clicks. (I eventually navigate to the doc I want, but not easy)

I understand you've built a brand for Piral and I believe that you'd like to maintain the Piral "look-and-feel", I wonder if you're up to trying out a different library to generate static docs site.

Docusaurus is a popular library. I'm about the bootstrap internal tech docs at my company using this lib. I hope you might find it helpful as reference.

https://v2.docusaurus.io/showcase/

Background

I had a brief discussion with @FlorianRappl on gitter. Creating an issue for tracking and involving the community.

Discussion

Florian's note:

The main issue regarding documentation layout is that we have quite some information:

So its quite a lot and we struggle to find a great structure here that is easy to navigate and efficient. Maybe if we could collect say 3-4 layout options (1 could be similar the current one, just refined) incl. either just a mock or a sample from, e.g., using something like docusaurus (could also be something else read the docs etc. - the layout is the important part here) that would be fantastic. Once we have these options (we could also make an issue on GitHub to work on these options and have an open discussion) we can use GitHub + the chat here + Twitter etc. to link to a poll using, e.g., https://www.strawpoll.me/

FlorianRappl commented 4 years ago

As noted I think we should split the technical implementation from the UX. What should be discussed here is the UX, which should be improved.

Ideally, we come up with 3-4 layout options, which can be dropped in via mocks or some real world examples. Then we can have a poll to see what the users favor.

FlorianRappl commented 4 years ago

Option 1

Essentially like we have currently - just a bit streamlined.

image

Uses:

Example: https://docs.piral.io/reference/documentation

Option 2

A refined "grand-scale" information central.

image

Uses:

Example: https://www.wolframphysics.org/technical-introduction/

Option 3

Provide an established look with 3 columns.

image

Uses:

Example: https://docusaurus.io/docs/en/installation

Option 4

Simplified with an adjustable nav element.

image

Uses:

Example: https://sphinx-rtd-theme.readthedocs.io/en/stable/configuring.html

More?

Any more options that you'd like to discuss? Just ping me or add a reply. I'll integrate it in here.

lamson-dev commented 4 years ago

Another option following examples:

https://reactjs.org/docs/getting-started.html and https://graphql.org/learn/

Uses:

https://www.howtographql.com/

Uses:


I'll vote for Option 3 because:

lschoett commented 4 years ago

Another option, which is a mixture of the options above:

Examples:

SantoJambit commented 4 years ago

Just an idea (haven't read through the suggestions in detail yet, will do later):

I've recently come accross vuepress, which I now use for some of my projects together with github-pages-action for automatic deployment into the gh-pages branch. I think it creates quite beautiful documentation.

Seems quite similar to the create-react-app documentation.

FlorianRappl commented 4 years ago

I've recently come accross vuepress

So this would be option 3 then I guess. Pretty much the "docusaurus" design.

SantoJambit commented 4 years ago

@FlorianRappl Option 3 has a TOC on the right side. With VuePress, the left side is both navigation and TOC. Unless I misunderstand this, it looks more like Option 4 from a UX perspective, though I don't like the sample for Option 4, because there's little overview in the left navigation. So maybe Option 3.5?

Option 3 would be fine too though.

What I don't like about the current Piral documentation are these huge pages with a huge TOC. I'd rather have smaller (sub-)pages which focus on one thing. Otherwise it feels quite overwhelming.

@lschoett looking at the kubernetes docs, there seems to be no TOC at all, just a sub-navigation on the left side. To be clear, what I define as TOC here are the headings of one page. I like having a TOC, so I'd vote against that option.

FlorianRappl commented 4 years ago

Yeah I agree with 3.5, but note that the TOC on the RHS is just in case when there are other headlines, too. In the end we'll need to see about these things.

Regarding:

What I don't like about the current Piral documentation are these huge pages with a huge TOC. I'd rather have smaller (sub-)pages which focus on one thing. Otherwise it feels quite overwhelming.

Does that apply to the tutorials or the reference pages @SantoJambit ? For the latter we definitely need to / want to have this revamp, for the former I'm not sure if we can strip them down more.

lschoett commented 4 years ago

@SantoJambit The example for the Kubernetes docs was just a layout suggestion. As the documentation content for Kubernetes is rather large, they have placed the detailed TOC entries within the pages.

I think it is important to have the entire navigation structure (at least level one) visible at all time, so users can navigate through the entire content. On option would be to collapse the navigation for all first level navigation items and only show the detailed structure in context with the currently "open" page.

SantoJambit commented 4 years ago

Talking about the reference pages. The tutorials should be fine I think.

carvinlo commented 4 years ago

Perhaps in the parallel development of multiple projects, the environment configuration guide for development and debugging is more important. Perhaps it is easier to find Tooling in the tutorial than in the faq. Then perfect the configuration steps and summarize some useful tools, such as sample-pilet-service.

FlorianRappl commented 4 years ago

Two documentations for reference:

There are many things I really like about the former. The great thing about the latter is that the RHS (current jump points / TOC) are always in the current level. Therefore, the list remains always quite compact and is nicely visualized.

SantoJambit commented 4 years ago

I don't like the latter:

About the former: I think I like the graying out of the TOC for tutorial-style pages, since you see your progress, but I'm not sure if this is nice for reference pages.

FlorianRappl commented 4 years ago

Alright - besides the actual UX flow I'd bring in new Markdown capabilities that we will actively use.

We will support (info) boxes:

!!! tip "Tip Header"

    Body ...

!!! warning "This is a warning title"

    Body ...

!!! failure "Error: Title"

    Body ...

We will also support tabs:

=== "Unix"
...source code on -nix systems
```

=== "Windows"

```

...source code on Windows systems

We will also support collapsed views:

??? summary "Summary title"

    Body ...

Every code snippet will be easy to copy to the clipboard, too.

FlorianRappl commented 4 years ago

Quick summary what changes we will do:

Regarding (1):

Regarding (2):

Regarding (3):

Robbson commented 4 years ago

I haven't read all the comments above but I always have difficulties finding the right information in the existing Piral docs. It also happened that I missed some pages completely even though I had a look in the related sections several times before. Like the tabs on the reference page where you can switch between introduction and reference.

Main reasons

Alternative

I've found an alternative: Open the folder containing all the markdown docs in Typora enables a much better experience than access the docs on the web. Crisp clear output, full text search, at least navigation by file & index.

burakakca commented 4 years ago

My opinion : Option 3

I did not read all the comments, but I want to share something that I think is related to this discussion.

Are the codes in the directive documentation added only to give an idea, or have they been added to complete an incremental step by step? also, to be quick, see the example on github might be good

FlorianRappl commented 4 years ago

This will ship in 0.11.8 - the remaining bullet point

Provide some new documentation on missing (advanced features), see (3)

will be provided on the road to v1.