aperis-docs / react-static-plugin-aperis-doc-pages

0 stars 0 forks source link

How to deal with blog posts? #5

Open ronaldtse opened 3 years ago

ronaldtse commented 3 years ago

On the LutaML site (https://www.lutaml.org) we wish to let authors add blog posts. What's the best way to do that?

strogonoff commented 3 years ago

@ronaldtse, we’ve touched on this before—here’re my ideas about it (this looks like a good place to put them in writing).

Summary: (A) in short term, Aperis will add certain features that make sense for documentation but also (as a side-effect) for blog-like articles, (B) I think blogging-specific features shouldn’t be in Aperis, (C) we should streamline the process of creating a site that combines Aperis docs and a blog under the same umbrella.

Features that should make Aperis somewhat usable for blog-like content as a side-effect

Why I believe full-blown blogging functionality shouldn’t be part of Aperis

A website that consists of Aperis docs dataset and blog dataset

ronaldtse commented 3 years ago

I generally agree with the comments above. The separation between datasets is sound.

That said:

Some questions:

strogonoff commented 3 years ago

Some questions:

  • What is a "full-blown blogging extension"? What are the features that differ between Aperis and a blog extension?

I think I mentioned some of this somewhere but here’s an overview:

Versioning (ideally based on Git tags), different content atoms (function, class, API method, GUI widget—depending on what is being documented) rather than just “article”, different content schemas, inclusion of docs from other Aperis datasets that live in software repos and don’t generate their own site, (possibly) auto-generated documentation from source code, shortcuts to allow readers to contribute to docs — those are some of the things planned for Aperis.

Different editor schema, using “article” as content atom, GUI features related to publication times (archive pages, future scheduled publication), article tagging, embedded content like tweets or toots, third-party comment system integration like Disqus, RSS feed of articles, integration with third-party mailing lists, author profiles (pictures, about text, social media links, etc.) — those are specific to blogs.

  • This is my original question: will the Repo-wide CI create the single website (from multiple datasets)?

Yes, that’s the idea, since repo-wide CI can use any dataset we can bundle a CI flow tailored to generate a single site from one or more Aperis datasets and one blog dataset.

  • If so,

    • Will we allow integration with other SSG systems?

We separate those concerns. Aperis Paneron extension produces YAML structure as a result. Aperis react-static plugin takes that structure and renders it using Aperis React components. Someone is free to use Paneron extension to edit while generating the site using something other than React, or they can use something other than Paneron to edit while using our React helpers to render an Aperis site.

  • How does the user customize design/layout?

Generalized blogging extension may support that. Aperis, on the other hand, IMO is unlikely to support customization beyond setting header/footer branding banners and site name/organization.

  • Should cross-dataset anchors be supported? (I assume yes and it is doable)

Cross-dataset linking is a challenge but it should be supported. The simplest case, blog can link to docs and vice-versa by using URLs.

ronaldtse commented 3 years ago

Thanks @strogonoff for the details. This is in line with our vision 👍

strogonoff commented 3 years ago

Awesome, I will close this issue when blogging extension is nearing release…