service classes are beginning to swell as there functionality is being
fleshed out, so a new organizational structure was needed to make sure
class sizes don't become too large and to increase site managability and
legibilty as more features get added and the code base grows.
data is for retrieving, managing site information, assets interact with external files
and upkeep is for maintenance.
some additional tweaks were also made to the options menu template to
prep it for it's transition to a toolbar component
ported over the backup functionality from the old build to the new while
making few tweaks
instead of packaging up all files in the site to create massive zip
files, now a list of files is created for the user and blog directories
that the system will use to download and put them in the appropriate
directories, resulting in a such slimmer backup file.
archiving images my be added at a later date, but will be kept seperate
from the current back up process
moved methods of string service to helper function and got rid of the
string service class
still messing around with the sorter helper to see how dependecies work.
sorting as a helper may be a bit too complex for what help functions are
supposed to be
some serivce classes are getting to heavy, so some functionality will be
offloaded to custom helper function for better manageability and
readability.
a couple of place holders have been added to demonstrate how helpers
will be organized
the last ui page that needed to be added was managing the main
navigation menu for rendered pages, so that's been turned on. menu
items can be added by pinning pages to the menu when editing them and
can be removed by unpinning them or deleting them from the navigation
edit ui
it touched quite a few systems so all of those classes needed to be
edited as well tweaking the front end script to work with the new
modular script format
it's time to get the setting api running so site options can be editied
so the first step is to get the settings page up and running.
the sorting class is getting a bit heavy, but it will hold the method
for gathering settings page info for now.
page rendering for tags, archives and markdown pages is now up and
running and being exported to html when requested.
currently it only works when saving a page, so now the settings page
needs to be plugged in so those features can be activated and toggled
through that UI
error checking will probably be added in the near future just in case
something unforeseen happens in the render process, resulting in the
site erroring out.
theme controller was getting top heavy, so an asset service class was
plugged in to handle moving assets around for theme testing and
eventually to production when HTML rendering is set up
to complete page rendering, the default theme needed to be converted to
use blade templating. rather than update the theme kit as a seperate
progress, it will be integrated into this codebase so themes can be
developed and tested in app.
the basics for the theme kit are in place, so now conversion of the
defualt theme can be completed.
once the that is done, it can then be used to complete the rendering
engine to export HTML files
plugged in sorting class to gather the info necessary for the render
class to convert markown files to html and move them to the correct
location in the public diretory
editing page works but making new pages was still wonky, so that was
fixed and now page creation works fine
made some minor tweaks to prettier config for css formatting
ported over the new file uploader from the old build and made it a
service make for from some additonal file processing
i.e. image optimization or video converstion before it is saved to the system
the first part of the page editing API is working again after porting it over
form the old fipamo build. a few changes where made to make the code a
big more managable, but the end to end process works for updating pages.
the remaining page editing methods will be activated after the rendering
engine is in place because that's going to be a pretty siginficant
effort.
but this is a big step.
page editing was missing the selector to choose what template the page
was using, so a theme class was created to handle retrieving and sorting
what classes where avaiable in the themes directory
still looking for twig files because themes haven't been converted over
yet, but one step at a time
plugged in classes for a page repository to handle editing and
retrieving page content and an interface class for the controller to talk to to
keep the methodoloy seperate from the controller to keep it all clean
now whatever changes that need to be made won't bother the controller
because it will always be looking for the same functions. super sweet
plugged in the dash index template which required grabbing markdown
pages and converting them to data the system can use and then pagination
that is used to sort content into pages
start page now switches from login screen to index based on session, but
that might be changes so it's a bit more clean to work with middleware
Plugged in a basic auth classs for verifying members and a setting class
to retrieve site settings and return necessary info.
Very bare bones to start just to get it working and prep for the
additional features
Removed the Slim Framework from the codebase and installed the latest
Laravel version to be the new foundation for the project moving forward.
Code from the old version will now be ported to the new version.