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

List available modules in the README #598

Open
okarmazin opened this issue Aug 29, 2024 · 4 comments
Open

List available modules in the README #598

okarmazin opened this issue Aug 29, 2024 · 4 comments
Labels
documentation Improvements or additions to documentation
Milestone

Comments

@okarmazin
Copy link
Contributor

README should feature an authoritative reference of all available Kobweb-related (kobweb, kobwebx, silk) modules with their Maven coordinates.

Currently the README contains a lot of information about the different Kobweb capabilities, but it doesn't actually tell you where to get them.

@okarmazin okarmazin added the documentation Improvements or additions to documentation label Aug 29, 2024
@bitspittle bitspittle added this to the 1.0 milestone Aug 31, 2024
@bitspittle
Copy link
Collaborator

I'll consider this more as we get closer to 1.0. I wouldn't want to do anything too early because we may add or rename modules before the final release.

Are you aware of any other projects that do this? I'm almost tempted to say that the final source of truth will be maven itself. We will ultimately release Kobweb artifacts on maven, and at that point, people will be able to search for all Kobweb artifacts (with descriptions) there.

@okarmazin
Copy link
Contributor Author

okarmazin commented Sep 7, 2024

Are you aware of any other projects that do this?

I'm not sure what you're referring to. Every library lists its modules as the first thing in their README (or some other easily accessible place)

How do you declare dependencies in your projects? You read their README and it tells you the coordinates which you add to your gradle/libs.versions.toml file.

After all, where did you find the Maven coordinates of Kobweb's own dependencies? compose, jsoup, kotlinx.serialization, kotlinpoet. Probably in their READMEs or other similar documentations.

@okarmazin
Copy link
Contributor Author

https://www.http4k.org/guide/reference/ - open any of the module pages, installation information is front and center.

@bitspittle
Copy link
Collaborator

Sounds like you're asking for two separate things here...

  1. How to set up <your build system here> to use Kobweb
  2. A list of all artifacts / modules Kobweb generates

Build setup instructions

I'm definitely not against 1) in general as I have prominent sections in Kotter and Truthish.

I definitely plan to add a section about this eventually, but it wasn't as much a priority because most new users should just use kobweb create app for now. I also want to wait for my artifacts to live in Maven Central / the Gradle plugin portal. This will happen much closer to the 1.0 release.

Artifact list

A project like http4k (and also, say, ktor) is designed as tiny modular pieces that you are supposed to choose a subset from in your own project, and every project will be a bit different.

Kobweb is a more standard project -- a vast majority of projects will probably all import Kobweb core and Silk. These in turn auto-import additional artifacts for the user behind the scenes.

I have actually implemented Kobweb to be more flexible than this standard monolithic experience might imply. But picking and choosing this or that piece is more advanced behavior, and names / locations may change before we hit 1.0, so I don't want to spend time locking down the documentation on that yet.

I probably won't add a page in the main guide flow like http4k does, but I will use something like dokka to generate a full listing of all methods, classes, etc., eventually, and I think I will lean on something like that as docs that are closer to the source of truth (i.e. the code).

I may also surface information like this (https://github.com/varabyte/kobweb/blob/main/frontend/silk-widgets/README.md) into the docs, since I think at a high level, using Silk without Kobweb could be a more and more common use-case. (Although in that case, I may add a new Silk Gradle plugin so people don't have to do this by hand).

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

No branches or pull requests

2 participants