Wiki for a better world:Redesigns

From the change wiki

This page is for ways the wiki could be completely redesigned.

Wiki engine

make a new wiki engine

  • use case
    • ultra short "pages" that heavily link to each other
    • the whole wiki as one gigantic directed graph (flow chart style)
  • text node
    • displayed as a rounded square
      • zooming in increases width but left-right-clamped to screen
      • if (width clamped) height = whatever needed for text. but also adjusted so the text doesnt suddenly shift vertically when you reach that zoom point
      • else height = min(width, whatever needed for text) and put some fade-out and ellipsis if needed
    • contains wikitext with expandables available
    • can be titled or untitled
    • can link to other nodes, even untitled ones
  • math node
    • can contain numbers and units (unknown whether should be powered by gnu or frink)
    • id, val, desc, note
    • equations (val) create math-reference links
    • decide: can make equations that reference datapoints with no id?
      • internally it'd be stored as {001} or whatever number
      • displayed as a colored circle
        • then the nodes gotta set color background?
    • renaming id's should automatically rename them in every equation
      • except equations that contain twirly brackets around id's
    • youre allowed to make equations with blank datapoints; it'll propagate the unknowns
    • conformability errors and math errors will also propagate as unknowns
  • connection type
    • default
    • tether (set length i guess)
    • math reference (can't be specified manually)
  • interface
    • you don't specify the physical locations of any nodes. the program moves them around as you traverse the graph. hyperbolic space effect
    • controls option 1
      • left click to pan
      • scroll wheel to zoom
      • right click for node menu (edit, new linked node, delete) or general (new node, new connection)
      • left click to select text
  • create-a-table feature
    • specify rows and cols
    • auto-tethers some nodes together
    • idk how it would work for adding more tho
  • history
    • keep diff history with username/ip, just like mediawiki.
    • deleted nodes have to be restorable. implement the same way as mediawiki
  • talk pages
    • should each node have an associated talk page?
    • or should there be separate talk nodes that are hidden by default but can be shown?