Coder Social home page Coder Social logo

jgroth / kompendium Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 5.0 1.53 MB

Documentation generator for Stencil components https://kompendium.dev/

License: MIT License

TypeScript 61.59% HTML 0.29% JavaScript 8.44% SCSS 29.68%
stencil documentation webcomponents typescript kompendium

kompendium's Introduction

Hi there 👋

kompendium's People

Contributors

adrianschmidt avatar dependabot[bot] avatar jgroth avatar kiarokh avatar semantic-release-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kompendium's Issues

Editable examples

It woulld be really nice if the code in the examples were editable in the browser. Are there plans for implementing such feature?

Improve progress and error feedback

1. the dev-server-progress-bar scrolls away

While developing, it's important to clearly see the dev-server-progress-bar, when the documentations are being built. This gives crucial clues to the consumer about whether the build is ongoing, or it has failed for example.

image But since this element has a `position: absolute;`, it scrolls away with the content.
Screen.Recording.2023-09-21.at.13.26.25.mov

2. the dev-server-modal covers everything

When errors appear, the dialog that displays the errors covers up the entire page. Looks not so nice.

Screen.Recording.2023-09-21.at.13.46.32.mov

`npm install` on macOS throws error

When running npm install for this repo on macOS, the first run gives the following output:

> [email protected] install /Users/ads/src/kompendium/node_modules/jest-haste-map/node_modules/fsevents
> node install.js

internal/modules/cjs/loader.js:883
  throw err;
  ^

Error: Cannot find module 'nan'
Require stack:
- /Users/ads/src/kompendium/node_modules/jest-haste-map/node_modules/fsevents/[eval]
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at [eval]:1:1
    at Script.runInThisContext (vm.js:132:18)
    at Object.runInThisContext (vm.js:309:38)
    at internal/process/execution.js:77:19
    at [eval]-wrapper:6:22
    at evalScript (internal/process/execution.js:76:60) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/ads/src/kompendium/node_modules/jest-haste-map/node_modules/fsevents/[eval]'
  ]
}
gyp: Call to 'node -e "require('nan')"' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Darwin 20.2.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/ads/src/kompendium/node_modules/jest-haste-map/node_modules/fsevents
gyp ERR! node -v v14.15.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok

Despite this, the run does finish. After this first run, no files are changed. Running npm install again, the install passes with no errors, but updates the package-lock.json file.

Improve readability

The lines are a bit too long so it makes it harder to read the text when there is a lot of it.
Also, the font size could be a bit larger

Screenshot from 2020-10-07 08-05-30
Screenshot from 2020-10-07 08-06-14

Feature request: Hide properties marked with `@private` (on non-private components)

We have a PR in lime-elements that adds a property to a publicly documented component, but we don't really want to advertise this property, as we may change it in the future, but we need it internally for now. As seen in the screenshot below, the property has been marked as private, and we do get a little flag about that neatly rendered, and that's nice. But I'm think it would perhaps be better to just hide the documentation of that property completely?

image

layout breaks too early and scrolling becomes a pain

It's so annoying to inspect any component, since the layout breaks into a single column and scrolling in the page becomes too hard since you will end up scrolling in code sections, unless you move the mouse pointer to the side of the page.

Additionally, as soon as the inspector opens, page's current scroll position changes, and it becomes too hard to know what elements you intended to inspect.

Screen-Recording-2022-01-19-at-13.49.26.mp4

Preferred from the PR:
image

Allow hiding the documentation for types by adding `@private` to the docblock

Originally posted by @adrianschmidt in Lundalogik/lime-elements#1793 (comment)


Hmm… types that are documented are probably shown regardless of whether the component we think they "belong to" is marked as private or not. But I guess there's a docblock for the type too, have you tried adding @Private to that? If that doesn't work, that seems like a good fit for feature request in Kompendium.

Added and pushed. Let's see what happens online here lundalogik.github.io/lime-elements/versions/PR-1792/#/type/DockItem

I think we should open a feature request in Kompendium for this. I'm summarising the problem a little here to have a concise comment to reference in the issue in Kompendium 😊

The @private tag is set on the interface:

Screenshot showing that the `@private` tag has indeed been set in the docblock for the `DockItem` interface

The docs have been published:

Screenshot showing that the latest run of the 'Publish Docs' action completed successfully

The interface is still visible in the docs:

Screenshot showing that the documentation for the `DockItem` interface is still visible in the documentation menu's 'Types' section

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.