Files
intotheeast-com/docs/guides/posting.md
T

4.3 KiB

Posting a Journal Entry

Two ways to post: the mobile form at /post (quick, phone-friendly) or the Admin panel at /admin (drafts, scheduling, editing).


Quick start — mobile form

  1. Open /post on your phone (login required)
  2. Fill in Title and Content (required)
  3. Tap Get Location → fills Lat/Lng automatically
  4. Tap Get Weather → fills weather fields using your coordinates
  5. Type City and Country (optional but nice)
  6. Attach photos (optional) — first photo becomes the hero image
  7. Tap Submit → entry appears in the feed immediately

Form fields reference

Field Required Notes
Title Entry headline
Content Markdown body
Date Defaults to now — adjust if posting later
Lat / Lng Filled by Get Location; used for map marker
City Shown as 📍 Kyoto, Japan on feed cards
Country Combined with City in location badge
Weather Filled by Get Weather (Open-Meteo, free, no key)
Photos All uploaded files appear in the gallery; first = hero

Weather descriptions (must be one of these if entered manually): Sunny · Partly cloudy · Cloudy · Foggy · Drizzle · Rain · Snow · Thunderstorm


How it works (for debugging)

Browser → /post (post-form.md)
         └─ Grav Form plugin validates fields
         └─ add-page-by-form plugin
              ├─ reads pageconfig.parent (/trips/<active_trip>/dailies)
              ├─ writes user/pages/01.trips/<active_trip>/01.dailies/<slug>/entry.md
              └─ moves uploaded photos into the page folder
         └─ cache-on-save plugin
              └─ calls $grav['cache']->deleteAll() → entry visible immediately
         └─ form shows success message

Slug format: <YYYY-MM-DD-HHmm>-<slugified-title>.entry Example: 2026-07-20-0930-first-day-in-kyoto.entry

Entry folder structure:

user/pages/01.trips/japan-korea-2026/01.dailies/
└─ 2026-07-20-0930-first-day-in-kyoto.entry/
   ├─ entry.md       ← frontmatter + markdown body
   ├─ temple.jpg     ← hero image (or set hero_image in frontmatter)
   └─ market.jpg     ← additional gallery image

Admin panel — drafts and scheduling

Use the Admin panel at /admin for drafts, scheduled posts, or editing existing entries.

  1. Log in at /admin
  2. Pages → Add Page
  3. Set Parent Page to /trips/<active_trip>/dailies and Template to entry
  4. Fill in the Entry tab (city, country, lat/lng, weather)
  5. Write content in the Content tab
  6. Upload photos in the Media tab
  7. Drafts: set published: false — won't appear until you flip it to true
  8. Scheduling: set publish_date in Options → Scheduling
  9. Save

The Admin form fields are defined by user/themes/intotheeast/blueprints/entry.yaml.


Frontmatter reference

Every entry supports these frontmatter fields:

Field Type Notes
title string Required
date datetime Format: Y-m-d H:i (e.g. 2026-06-17 10:00)
template string Always entry
published bool true to show in feed
lat string Decimal degrees (e.g. 52.3676)
lng string Decimal degrees (e.g. 4.9041)
location_city string e.g. Kyoto
location_country string e.g. Japan
weather_desc string One of the allowed values above
weather_temp_c number Celsius, displayed rounded
hero_image string Filename to pin as hero (e.g. temple.jpg); auto-selects first image if blank

Troubleshooting

Entry doesn't appear in feed after submit → Check that active_trip in user/config/site.yaml matches the parent in user/pages/02.post/post-form.md (pageconfig.parent). If they're out of sync, entries go to the wrong folder. See trip switching guide.

Get Weather button shows an error → Fill in Lat/Lng first (tap Get Location or enter manually). Open-Meteo requires coordinates.

Photos not showing in gallery → Verify files were uploaded (check the entry folder in Admin → Media). Only jpg, jpeg, png, webp, gif are rendered.

500 error after posting → Run make fix-perms to restore container file ownership.