Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Ink Laravel Package

relaticle/ink

Filament-native content publishing for Laravel: Eloquent models, full admin for posts/categories, SEO + JSON-LD, RSS, search, Blade UI components, and 13 MCP tools for AI agents. Headless by default with optional public blog routes.

View on GitHub
Deep Wiki
Context7

title: Schema description: Automatic JSON-LD schema emission for posts and listings. navigation: icon: i-lucide-code-2

The package emits JSON-LD schema automatically for blog content. Each schema type can be toggled in config/ink.php.

What's emitted by default

Schema Where Toggle
BlogPosting Post pages Always on (via Post::getDynamicSEOData())
BreadcrumbList Post pages Always on
FAQPage Post pages with ## FAQ section schema.faq_auto (default true)
HowTo Post pages with ## Steps section schema.howto_auto (default false)
Blog /blog index Always when public-routes mode is on
CollectionPage /blog, /blog/category/{slug}, /blog/tag/{slug} Always when public-routes mode is on

FAQPage conventions

To trigger FAQPage emission, include a ## FAQ heading followed by ### Question? and a paragraph answer:

## FAQ

### Does the package auto-emit schema?
Yes — FAQ schema is on by default.

### Can I turn it off?
Set `schema.faq_auto` to `false`.

HowTo conventions

To trigger HowTo emission, opt in via schema.howto_auto = true and write a ## Steps section with ### Step Name headings:

## Steps

### Install the package
Run `composer require relaticle/ink`.

### Publish the config
Run `php artisan vendor:publish --tag=ink-config`.

Each ### heading becomes a HowToStep with auto-incremented position.

Disabling auto-detection

'schema' => [
    'faq_auto' => false,
    'howto_auto' => false,
],

The BlogPosting + BreadcrumbList schemas remain on regardless — they're considered baseline for any blog.

Validate your schema

After publishing, paste a post URL into Google Rich Results Test or the Schema.org Validator to confirm zero errors.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity