Project Viewer Development Status

Latest (August 25, 2021)

still use bin/provi to launch server Visiting /taeluf/provi delivers successfully.

  • Autowire is now being delivered Theme needs some actual styling (v minor) & general cleanup (since i copied it from taeluf.com) Can't view any specific files or directories can switch between docs & src code

Latest (August 24, 2021)

Now we use bin/provi (short for project viewer).

Visit localhost:port/taeluf/project-viewer/

I got the ProjectLayout view mostly cleaned up & now I need to work through Sidebar view. Last error cites line 6 of view/Docu/Sidebar.php:6 as trying to call Router::filesFor().

This method will likely move to the project. I may change the implementation of the dir for a project. Reason being that I want one place of logic for making paths. In filesFor() I don't want to check if we're currently in view source mode or view docs mode. I want to just scan dir/relPath.

That being said, I may want dir/relPath to be stored on the project. But then I'm kind of mixing the project information up with the state of the request. The current implementation is more about the request. A project itself might be better off just being in charge of telling you default branch & stuff, but not have any awareness of state. Idk.

Latest (August 23, 2021)

To use execute bin/view in the terminal while inside Project-Viewer dir (so we can view docs for Project Viewer), then go to the localhost:port that it tells you to. Visit the three urls:

  • /
  • /taeluf/ (vendor url)
  • /taeluf/project-viewer/

additional urls to try later:

  • /taeluf/project-viewer/some_file.md (do I include .md in the docs viewer? i don't think so. Probably in the src viewer)

  • /taeluf/project-viewer-src/some_file.php

  • /taeluf/project-viewer/some/dir/

  • /taeluf/project-viewer:branch_name/

  • /taeluf/project-viewer-src/

  • /taeluf/project-viewer-src:branch_name/

  • I moved old code to code/old-core

  • I started a new Router class that parses the url into its information pieces

  • I scaffolded the call to load in the Docu/ProjectLayout view.

  • NEXT: ProjectLayout needs to be reviewed, and the associated implementation for projects & stuff needs to be figured out so this can happen.

    • Probably review the router & see if I want to have that flow any differently, including making a project object from the info?
    • I probably don't want the router to answer "isDocsRequest" because the router doesn't maintain a state & I don't really want it to. The project can maintain state, or something. Idk.

Current

  • Just created v0.1 branch from webhooks_rewrite-for-multi-vendors. I'm pretty sure I can delete everything else. BUT, I might convert a couple of them to v0.X branches & bump this one up to like v0.4 or something.

  • JUST copied in webhook-stuff-from-taeluf.com... might need this later

  • Just started code-new/ folder to put forth a new design. I am just having a really hard time understanding what the current code is actually doing, so I'm just looking at a new way to go about things.

  • Just moved all old branches to v0.X scheme and now I will work on v0.7

  • Started work on cli interface & new architecture

  • Started on trying to clean up everything & its kind of a mess right now. I'm working out a dynamic url that will allow me to catch a request. I updated liaison to take - & : as separators of dynamic bits. I need the optional one ?. But most of all, I have to get away from all these complicated function calls. I need a single parseUrl that returns vendor name, project name, and so on. Then I can use the parsed info to check if the project & file actually exist here.

  • I don't know what I'm doing about the class structure around projects & vendors. Idk what doing about the git status.

  • Currently, I'm focusing on just delivering a single directory as a project. Then I want to go from there & start figuring out these more complex issues. By focusing on the simple part, I can create some good architecture & it will be easy to move forward.

  • I feel like I want to delete most of my old code, but that's not quite it. There's just places where I'm chaining together many function calls with bad names & I don't understand how things work. The interface for routing, loading projects, parsing urls, updating projects (git pulls), and all need to be... so so much better.

How to run

cd server.php
php -S localhost:3000 deliver.php

Plans

  • Make it work on any folder of code without any configuration
  • Scan for files & wherever md files are concentrated its documentation city
  • Cli install instructions & a basic cli interface
    • Setup a new project on your server to receive webhooks
    • view the current folder as project via webserver
  • Composer
  • Integrate gitlab webhooks
  • Refactor all code

Next

  • Delete all old, unneeded code
  • Make the server runnable for pwd, so you can view documentation of any arbitrary folder on your system without any setup required
  • refactor all existing code to... make some sense!
  • Get webhooks working again (with gitlab this time! But github, too)
  • Fill out a built-in-theme so it actually looks pretty
  • Write documentation
    • How do I set up a new project?
  • Write tests

Next (later)

  • Support multiple vendors
  • idk

Latest (newest to oldest)

  • Sample server to view documentation
  • It... works. I can view files & navigate, but there's still lots of issues.
  • Nothing to report yet...