Auth, Blog, Inbox

Add-on systems that unzip into the starter.

Auth System
  • test.hubsitefactory.com/login — also on each theme, e.g. /preview/kelly/login

    Auth overlay for Website Starter. Unzip into the site root — login, register, account. No .env.

    1. Install Website Starter and run php artisan migrate (users table).
    2. Unzip auth-system.zip into that root.
    3. Edit labels in content/auth.json.

    Preview

Blog System
  • test.hubsitefactory.com/blog

    Blog overlay. Posts live in content/blog.json. Empty a title to hide a post. No database.

    1. Install Website Starter first.
    2. Unzip blog-system.zip into that root.
    3. Add or edit posts in content/blog.json.

    Preview

Inbox System
  • send the form on /contact, then open /inbox after login.

    Stores contact-form messages at /inbox after login. Install Auth first.

    1. Install Website Starter and Auth System.
    2. Unzip inbox-system.zip into that root.
    3. Messages are saved in storage/app/inbox.json — not in .env.

    Preview

Cookie Consent
  • put HTML in analytics_html / marketing_html — they load only after the visitor accepts.
  • Preview helpers: /?consent=reset shows the banner again, /?consent=open opens preferences.
  • Live preview: test.hubsitefactory.com

    Cookie banner overlay for Website Starter. Unzip into the site root. No .env.

    1. Install the current Website Starter (layouts include @includeIf('partials.consent-banner')).
    2. Unzip cookie-consent.zip into the same root. Folders are added; .env is not replaced.
    3. Edit texts in content/consent.json. Empty title hides the banner. Empty category titles hide that group.
    4. Optional tags
SEO System
  • sitemap.xml

    SEO overlay for Website Starter. Titles, descriptions, Open Graph, JSON-LD, sitemap, and robots.txt. No .env.

    1. Install the current Website Starter (layouts include @includeIf('partials.seo-head')).
    2. Unzip seo-system.zip into the same root. Folders are added; .env is not replaced.
    3. Delete public/robots.txt if it exists, so /robots.txt is served from JSON.
    4. Edit content/seo.json. Empty page title = use the global title/description. Empty jsonld = no JSON-LD.
    5. Check /sitemap.xml and /robots.txt.

    Live preview

Newsletter System
  • content/newsletter.json.
  • A confirmation email is sent (and stored in storage/app/newsletter-outbox.json if mail is log).
  • Blog or Journal: set "notify": true on an item to email confirmed subscribers. Without Newsletter that field is ignored. Without Blog, subscribe still works.
  • Later writing panel: if (class_exists(\App\Newsletter::class)) { \App\Newsletter::notifyPost($post, $send); }
  • Subscriber list: /newsletter/subscribers after Auth.
  • Live preview: /newsletter

    Newsletter overlay for Website Starter. Visitors subscribe, confirm by email, and can unsubscribe. No .env. Auth and Blog are optional.

    1. Unzip newsletter-system.zip into the Website Starter root. No .env.
    2. The form is in the footer and at /newsletter. Texts
Writer System
  • /write (login as admin)

    Writing panel for Website Starter. After install, blog and journal texts come from SQLite instead of JSON. Only an admin can write. No .env.

    1. Install Auth first. If there are no accounts, open /setup and choose name, email, password, and admin. That page closes after the first account.
    2. Unzip writer-system.zip into the Website Starter root. No .env.
    3. Existing content/blog.json and content/journal.json items are copied once into SQLite.
    4. Write at /write (admin only). Without Writer, JSON stays the source. Without Blog, journal still works.
    5. If Newsletter is installed, a checkbox on save can email confirmed subscribers.

    Live preview