Skip to content

a1local/jekyll-adpages

Repository files navigation

jekyll-adpages

Dependency-light Jekyll plugin scaffold for local-service sites. It provides Liquid helpers for LocalBusiness JSON-LD, UTM campaign URLs, and a landing-page checklist snippet that can be rendered in static Jekyll pages.

This package is prepared as a RubyGems/Jekyll publication candidate, but it is not ready to publish yet. See PUBLISH_BLOCKERS.md.

What is included

  • adpages_local_business_jsonld Liquid tag and filter for LocalBusiness JSON-LD.
  • adpages_utm_url Liquid filter for consistent campaign URLs.
  • adpages_landing_checklist Liquid tag and filter for lightweight local landing-page QA snippets.
  • Plain Ruby helper methods under Jekyll::AdPages::Helpers.
  • Examples for _config.yml, page usage, and Liquid snippets.
  • Local Node check/smoke scripts that do not install gems, make network calls, or require external services.

Planned install shape

# Gemfile
group :jekyll_plugins do
  gem "jekyll-adpages"
end
# _config.yml
plugins:
  - jekyll-adpages

adpages:
  business:
    name: Example Plumbing
    business_type: Plumber
    url: "https://example.com"
    telephone: "+61 8 0000 0000"
    area_served:
      - Perth
    services:
      - Emergency plumbing
  campaign:
    source: google
    medium: cpc
    campaign: emergency-plumber-perth

Liquid usage

{% adpages_local_business_jsonld site.adpages.business %}

{{ "https://example.com/quote/" | adpages_utm_url: site.adpages.campaign }}

{% adpages_landing_checklist site.adpages.checklist %}

The JSON-LD helper renders a <script type="application/ld+json"> tag. The UTM helper rewrites only utm_* parameters by default and does not call remote services.

Ruby usage

require "jekyll/adpages"

schema = Jekyll::AdPages::Helpers.local_business_schema(
  "name" => "Example Plumbing",
  "business_type" => "Plumber",
  "area_served" => ["Perth"],
  "services" => ["Emergency plumbing"]
)

url = Jekyll::AdPages::Helpers.build_utm_url(
  "https://example.com/quote/",
  "source" => "google",
  "medium" => "cpc",
  "campaign" => "emergency-plumber-perth"
)

Local checks

From the repository root:

npm --prefix packages/ruby/jekyll-adpages run check
npm --prefix packages/ruby/jekyll-adpages run smoke

The scripts validate files and run Ruby syntax/helper smoke tests when a local Ruby executable is available. They do not run bundle install.

Safety notes

  • No analytics, cookies, beacons, API calls, or background jobs.
  • No user data collection.
  • Output is deterministic static markup based on caller-provided config.
  • Publication, RubyGems ownership, license choice, and Jekyll integration testing remain blocked until explicitly handled.

About

Jekyll plugin helpers for LocalBusiness JSON-LD, UTM URLs, and local landing-page checklist snippets.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors