External links in post bodies now open in a new tab and show a box-with-arrow marker icon, so readers can tell at a glance which links leave the site. - blogex: new Blogex.ExternalLinks.rewrite/1 marks up anchors with http(s) hrefs at compile time with target="_blank", rel="noopener" and class="blogex-external" (idempotent, merges into existing class/rel values, leaves relative, mailto: and #anchor links alone) - blogex: Post.build/3 applies the rewrite, so every blog gets it - app: CSS in .blogex-post-body draws the marker via a mask so it inherits the link colour; empty ::after content stays invisible to screen readers - make test now also runs the blogex suite; it is currently red with 3 pre-existing blog_integration_test failures caused by the vacuous link validator (parked yak link-validator-never-sees-compiled-html-...)
58 lines
1.2 KiB
Makefile
58 lines
1.2 KiB
Makefile
# Makefile for Firehose monorepo
|
|
|
|
.PHONY: check precommit deps compile test format
|
|
|
|
# Common check target that runs all static analysis
|
|
check:
|
|
@echo "Running static analysis..."
|
|
@make -C app MISE_BIN=mise check
|
|
|
|
# Precommit target for CI/pre-commit hooks
|
|
precommit: check
|
|
|
|
# Sync dependencies
|
|
deps:
|
|
@make -C app deps
|
|
|
|
# Compile the project
|
|
compile:
|
|
@make -C app compile
|
|
|
|
# Run tests (app suite + blogex library suite)
|
|
test:
|
|
@make -C app test
|
|
@make -C blogex test
|
|
|
|
# Format code
|
|
format:
|
|
@make -C app format
|
|
|
|
# Serve the app
|
|
serve:
|
|
@cd app && mix phx.server
|
|
|
|
# Run Playwright browser-based tests (requires running server)
|
|
# Set PLAYWRIGHT_BASE_URL to point at the running Phoenix app
|
|
playwright:
|
|
@make -C app playwright
|
|
|
|
# Run Playwright in UI mode (headed browser)
|
|
playwright-ui:
|
|
@make -C app playwright-ui
|
|
|
|
# Run Playwright against Docker Chrome container (must be running)
|
|
playwright-docker:
|
|
@make -C app playwright-docker
|
|
|
|
# Full e2e workflow: start Chrome container, run tests, stop container
|
|
playwright-full:
|
|
@make -C app playwright-full
|
|
|
|
# Start Docker Chrome container
|
|
playwright-docker-start:
|
|
@make -C app playwright-docker-start
|
|
|
|
# Stop Docker Chrome container
|
|
playwright-docker-stop:
|
|
@make -C app playwright-docker-stop
|