Replies: 8 comments 8 replies
-
Keeping the left tree browserOne idea is that you add Clicking on any Category-level tree node brings up a page with a list of the pages, similar to wikipedia, so entries at the end without a | Tree tag just do that, like in wikipedia. The first branch in the left tree node would be the page name itself, with nav links within the page itself. Everything in the tree after the first page-level node would start out collapsed. The advantage here is that it would provide convenient access to relevant other pages, without having to leave the current page. |
Beta Was this translation helpful? Give feedback.
-
See also linksAt the top of the page, you could have |
Beta Was this translation helpful? Give feedback.
-
ReferencesFor the Neuropedia wiki system, we want to be able to add references into a shared bibtex reference list, and have it auto-generate a reference list from that on each page. The source for the bibtex is originally on zotero -- investigate any updates on live-linking into that. |
Beta Was this translation helpful? Give feedback.
-
Media pagesAlso need a separate flat list of media that you can link into: images, etc. |
Beta Was this translation helpful? Give feedback.
-
Markdown reviewer editing syntaxWould be great to have a nice markdown extension syntax for adding reviewer-style editing and comments directly into the source, with a toggle for whether to show these or not. Ideally, a tool for accepting changes etc. All the content would be hosted on github and the automatic revision history would handle all that stuff, but perhaps some way of turning diffs into the markdow edit syntax to show them more intuitively would be awesome. This shades into "Cogent Author" functionality, and the idea is that 1 paper (1 page) is just the start of multiple papers which ultimately becomes a whole collection of relevant work, so having this author functionality built in is good. Also need an ability to run through pandoc and generate all the more standard representations of a page (pdf, ebook, etc). |
Beta Was this translation helpful? Give feedback.
-
Content as the nameHere's the topic to bikeshed the name. How you could improve on Cogent Core Content is beside me, especially given that every such package names their main directory |
Beta Was this translation helpful? Give feedback.
-
Use of HTML for custom functionalityInstead of developing another convoluted templating system based on arbitrary characters ( |
Beta Was this translation helpful? Give feedback.
-
Quick notes on decisions w Kai
longer term issues:
|
Beta Was this translation helpful? Give feedback.
-
This is a discussion of ways to organize markdown-based web content in a scalable, flexible way.
We currently have a repo called pages that is used for the core docs at: https://cogentcore.org/core and we want to be able to support everything from blogs to a larger-scale wiki-like collection of pages, etc. Target functionality includes things like Hugo https://gohugo.io/ and wordpress and wikipedia, etc.
The current design has a single tree panel on the left, and then the current page, with nav buttons on the page that can move you along. The docs
content
is organized hierarchically with numbers indicating the ordering within level, and the tree browser reflects this.The main problem is that a hierarchical structure does not scale well. We are already starting to see this with the docs. Instead a more heterogenous, flat, tag-based organization generally scales better. The other problem is that we recently used the name "Pages" for a new widget type in #1293. I'm suggesting the name
content
as a good description of what this package does: manages and marshals web content.The large-scale paradigmatic example is Wikipedia / Mediawiki. Some key design features:
navbox
), along with more automated Category tags that generally live at the bottom of a page, providing links to other pages with the same categories.Example
navbox
template, from https://en.wikipedia.org/wiki/Emergence :which is included at the top of the page along with other such templates:
Example of another organizational template at the end:
And a category tag list at the end, where the links pull up alpha-organized glossary / index-like pages that provide broad linking to related topics (perhaps too broad):
The
navbox
is itself a template, with lots of collapsable content etc.Hugo also makes extensive use of templates. Templates give a lot of power at a high price in terms of learning curve and functionality limitations, and general overall complexity.
Both Hugo and wikipedia are highly complex systems. Hugo requires complex css / HTML styling and templates. Hosting your own mediawiki site is a server-side affair and well beyond the scope of most people.
Content goals
The goal here is to come up with a design that covers most of what you really want to do, using relatively simple markdown + custom extensions where absolutely necessary / highly beneficial. We want to avoid templates if at all possible.
Starting principles
Flat namespace (i.e, a big list of .md files). This is the only scalable design. Nothing is ever a clean hierarchy beyond some minimal scale.
Direct
[[Other Page]]
wikilink-style links to other pages.Tag-driven, automatically-generated navigation mechanisms. Can we anticipate the relevant types of such mechanisms and just build them in, or have some very simple mechanism for defining these, that is much better than a template?
More detailed and / or controversial ideas to follow in subsequent comments, where they can be individually debated more directly.
Beta Was this translation helpful? Give feedback.
All reactions