"Proper" block etiquette for clean graph results in inconsistent and ugly page-level organization/UX?

Disclaimer: Had to do some of this with screenshots from logseq to try to better illustrate results, but my logseq has some custom styling that may make the screenshots look slightly abnormal.

If anyone can provide direction on how to best do this, or insight into how logseq should change to improve the use, that’d be appreciated.

  • The Want/s

    • I want a clean graph without a billion sub-pages
    • I want a page on Character Arcs to have simple headings for each Character Arc type (Growth Arc, Flat Arc, Fall Arc)
    • I want each Arc type on that Character Arcs page to be a block (or section of blocks) which have a small bit of information beneath them.
    • I want to be able to link to those blocks from other pages
    • I want the link to display like a normal link
    • I want to be able to link to those blocks inline with aliases.
    • I want it to look good on the source page and on reference pages
  • The Problem

    • I see two methods of doing this, and neither results in an ideal situation:
      • Method 1 (not ideal): Create separate pages for each Character Arc type, and embed the pages in the parent page or use a query.

        • What does that look like?
          • I create individual pages for each Character Arc type, imagine the following are individual pages:

          • I can link to them from elsewhere using [[text]] or [[alias]], which looks like:

            • Results:
              • This gives me the look and functionality that I want when I reference the information inline.
          • I can embed them in the parent Character Arcs page using {{embed [[page]]}}, which looks like:

            • Results:
              • Ugly when embedded
      • Method 2 (Ideal?): Put the blocks into the page & link to the blocks using block references

        • What does that look like?
          • I can create the content directly in the Character Arcs page, which is where I think it belongs, and looks like:

          • But functionally all I can do to link directly to those blocks is use ((block reference ID)), which looks like:

          • Results:

            • It looks the way I want it to look on the page, but not when linking inline. I can’t link to each block using links like [[page]] or [[alias]] (which is what I want to do)
      • What is the intended/expected workflow here?
      • This seems like it should be a common usecase for Logseq and I am having trouble finding a functional solution.

Thanks in advance!

Your general problem is well-known, because the boundaries (and their necessity) between pages and blocks is an old debate (e.g. Discussion: Unify pages and blocks). Avoiding to reopen it, my suggestion would be to:

  • Create both:
    • the individual pages for each Character Arc type, like in your method 1
      • for the best linking experience
    • the Character Arcs page like in your method 2
      • for best looking page
  • Inside each individual page, add a direct link pointing to the respective block inside Character Arcs page
    • for navigation

Thanks Mentaloid, that makes sense and I think I can modify the CSS to style page embeds to better match my expectations.