Drupal Planet

Publishing Whole Site Sections with Drupal Workspaces

Publishing Whole Site Sections with Drupal Workspaces

Ever had to publish a new section for a website (with multiple pages, menu items, etc) and all needed to go live at the same time? Drupal Workspaces has you covered.

Here's a short video to show how to set up Workspaces in Drupal.

Join the "Something nice ..." newsletter

The full title is "Something nice, something quirky, something else".

I send an email once a week with something nice, something quirky, and something else that I think is interesting (all with a web development theme, of course).

Klaro is the simplest Cookie Consent Management solution for Drupal

The Confident: Drupal Cookies Management with Klaro

Here's a super quick outline of how to set up Klaro cookie management system for your Drupal website.

Installing the Klaro module for Drupal is as easy as 1, 2, 3.

  1. Download and enable the module
  2. Set the dialog type you want (dialog, modal, etc)
  3. Set the permissions for which user roles will be presented with the Klaro dialog (only admin by default)

Here's a video with a little more detail.

Join the "Something nice ..." newsletter

The full title is "Something nice, something quirky, something else".

I send an email once a week with something nice, something quirky, and something else that I think is interesting (all with a web development theme, of course).

My LocalGov Drupal contributions for November 2025

Beautifully crafted digital products and experiences that matter.

This month I focussed on fewer, but larger, issues. Let's see ...

Code Contributions

  1. You know the way the things in CK Editor look different to your frontend (e.g. heading styles, blockquotes, lists etc). Well, there's an easy way to fix that, but not so many people know about it. So I decided to add it by default to our subtheme generator.
  2. I got a nice update to the PR from last month to set the homepage by page id in the LocalGov Demo module.
  3. This month I plan on working on some of the larger, more complex issues such as getting Events using Finders closer to a stable release. I installed it, played with it, created some PRs and issues, and reviewed what's there so far.
  4. Created a PR to use the Teaser view mode for events listings.
  5. Created an MR to add an 'Add Finders Facet Type' link to have consistency with how Directory Facets work.
  6. Created an MR to add the same CSS and JS we have for directories to Finders.
  7. Created an MR to add the schema for finders facets processors.
  8. Created an MR to use the default localgov_events_date format for calendar dates.
  9. Our box links listing component is hardcoded to have either a single column of items or else a grid of items with 2 in each row. I now have a PR to allow options for 3 or 4 items in a row and a follow-up PR to reflect this in the LocalGov Base template.
  10. I got some preliminary - proof-of-concept - work done on the "Have different numbers of top tasks on service landing pages" issue.
  11. I love when I find a tiny issue with a simple fix, that's been there for ages but no one has noticed it. Here's a fix for when the media item is viewed on a small screen where the media item is on the right hand side (if it was viewed on a large screen).
  12. The body of our blog channels is printed in a sidebar as a summary of the blog you are reading. However, if we don't have anything in the body, we are still printing an empty <aside>. But ... no more!
  13. Whether you have a value in the summary field of a step-by-step page or not, we show the "Show summary" button in the navigation. Then even if there are no summaries at all, we still create and show a "Show all summaries" button. Thanks to James in Essex for finding this issue. I have a PR ready for it now.
  14. But that PR broke one of our tests, which took nearly half a day to fix. The good news is the test not passing showed up some brittle code (the test was failing for a reason not got to do with the test, which is why it took so long to track it down) which all got fixed in the one PR, so ... happy days!
  15. If you can write a test for it, write a test for it. Our LocalGov Topics module had no tests, but now has a full suite of them.

Join the "Something nice ..." newsletter

The full title is "Something nice, something quirky, something else".

I send an email once a week with something nice, something quirky, and something else that I think is interesting (all with a web development theme, of course).

How the Irish Government's “Build to Share” Vision Comes to Life: A New Public Consultations Module for All

The Confident Logo, Drupal Agency led by Mark Conroy

Local spark, national impact: an open-source public consultations module built to share, built to scale.

The Irish Government’s Build to Share (BTS) initiative has been a driving force behind a more efficient, collaborative, and forward-thinking approach to digital public services. It encourages public bodies to reuse shared digital assets rather than reinventing the wheel—maximising value, reducing costs, and improving outcomes.

A recent project led by Mark Conroy of The Confident offers a standout example of the initiative’s ideals in action.

A Smart Solution Built Locally, Designed to Scale Nationally and Internationally

Tipperary County Council worked with The Confident to create a new Public Consultations Module - a streamlined, accessible, open-source tool that enables councils and public-sector organisations to publish consultations, gather feedback, and manage submissions effectively.

Originally built to meet Tipperary’s needs, the module was architected with wider reuse in mind. Now that it’s been released on Drupal.org, it can be adopted by any local authority or public-sector organisation at no cost. In fact, it can be used by any Drupal website, not just government ones.

We needed a flexible, user-friendly way to run public consultations, but we also knew that other councils faced the very same challenges. From the outset, we wanted a solution that would benefit the wider local government community.

  • Ruth Maher, Tipperary County Council

A True Build to Share Success Story

The release of this module aligns perfectly with the Government’s Build to Share strategy:

  • Shared Digital Assets: One high-quality solution available to all
  • Lower Costs: No licensing fees and reduced duplication of effort
  • Open-Source Transparency: Community review and long-term sustainability
  • Consistent UX: Citizens benefit from a unified, accessible consultation experience
  • Local Innovation: A county-level project with national relevance

What began as a project for Tipperary County Council has now become a reusable digital resource for every local authority in Ireland—and indeed, any Drupal-based public body worldwide.

We’re proud to see solutions built for Irish local government contributing to the global Drupal ecosystem. It highlights the strength of open standards and shared digital investments.

  •  Will Callaghan, LocalGov Drupal Product Lead

Looking Ahead

As more councils adopt the module, the Drupal community and local government partners can continue enhancing it, adding functionality, and ensuring it remains aligned with accessibility and security standards.

This initiative stands as a model for how public-sector digital services can be built collaboratively, shared openly, and leveraged nationally.

Tipperary were fantastic partners. They understood the value of building something that could be reused across the country. Publishing the module on Drupal.org ensures it stays open, evolves with community input, and supports councils for years to come.

  • Mark Conroy, The Confident

Demo

Join the "Something nice ..." newsletter

The full title is "Something nice, something quirky, something else".

I send an email once a week with something nice, something quirky, and something else that I think is interesting (all with a web development theme, of course).

My LocalGov Drupal contributions for October 2025

Beautifully crafted digital products and experiences that matter.

Lots of smaller issues fixed this month.

Code Contributions

  1. We've had a PR open for a few weeks trying to amend the default content listing view to show some new fields (easy) and an exposed filter for the person who last updated the content, rather than the original author (not so easy). We seem to have it working now.
  2. We've another PR open for a while to get our templates to use our new grid layout. I got some more templates added to this now, so hopefully we're nearly ready to merge it.
  3. While working on those new templates, I realised that the library for the "One Col Flexible" is not actually doing anything. It just targets a CSS class that doesn't exist in the template it is working on. So I created a PR to remove that library (and hopefully we can follow up by removing the template itself as well).
  4. I (finally, I hope) have publications ready to work with microsites. Go me!
  5. But of course, that's opened up the possibility for some improvements in other places where we are placing blocks in LocalGov Microsites, but trying to figure out exactly what we needed to do became a little bit too much for my brain this month.
  6. In an effort to move from LocalGov Sa11y to LocalGov Editoria11y (or at least to allow LocalGov Sa11y to be uninstalled), I created a few PRs (1 and 2) to remove the dependency on LocalGov Sa11y.
  7. An issue that has bugged me for a long time - when you install LGD and the Demo Content module the homepage redirects to /localgov-demo-site. The issue moved from microsites to localgov_core to localgov_demo content module. And now I have a PR - at last - to fix it. The only issue is the PR presumes that the demo content module is being installed on a fresh site with no other content ... so I'll have to think about making that a bit more scalable.
  8. I'm not a fan of the Docs and GitHub links being placed in the main nav in the Demo Content module, so I created a PR to add "News" and "Events" instead, and then create a footer menu to add to the housekeeping region with links for Docs, GitHub, LinkedIn, and Bluesky.
  9. The LocalGov Editoria11y module isn't quite there with a stable 1.0.0 release, so I spent some time working on that and think we are in a position to now release a 1.0.0 release (or at least are very close to it). All of the issues are now either closed, or have working MRs ready to be tested.
  10. Lee has been doing great work on coding standards and automated tests. With Drupal moving towards strict types for PHP, he has been updating all our modules. This month, I decided to jump with with a help on the LocalGov Workflows module and LocalGov Services module.
  11. And when I created the PRs for LocalGov Workflows, that showed up coding standards issues with our JS, so I fixed that too, and while I was at it I also rewrote the whole file to remove its dependency on jQuery and use modern JavaScript instead.
  12. After nearly 5 years of working on LocalGov Base, I've only just now realised that our Site Slogan in our Branding block is not placed inside the same .branding container as the rest of the branding block, breaking out BEM naming pattern. I have a PR to fix that ready now.
  13. When using a "Call Out Box" component, if you don't have a call to action in it, we are printing an empty link element, but even worse that element is styled so we are printing an empty box on the page. Thanks to Maria for posting the issue. I have a PR ready to fix it.
  14. While doing some training recently with Blackburn with Darwen council, we were looking at the icon component and how to use custom icons in our themes. That showed me that the inline documentation we have (available variables, schema definition, etc) is a little bit lacking. I've created a PR to bring that up to our usual high standards.
  15. I'm a sucker for linters and automating boring work like fixing coding standards. While training with Blackburn with Darwen recently we noticed Drupal core's linting system is using updated packages that we are no yet using. Fix is ready in this PR.
  16. With the linters working again, I did a little tidy up on LocalGov Alert Banner and a little tidy up on LocalGov Directories and a little tidy up on LocalGov Step-by-Step.
  17. And then for a bonus, I also fixed the CSS stylelint issues on LocalGov Step-by-Step.
  18. I created an issue and a PR back in April this year to add a listing of where each paragraph is used on the website. That PR had some issues, which I have now fixed, but also added in some extra features (enable the view on existing sites, add secondary tabs so it's easy to find, etc).
  19. GitPod is no more, so here's a PR to remove it from our setup.

Join the "Something nice ..." newsletter

The full title is "Something nice, something quirky, something else".

I send an email once a week with something nice, something quirky, and something else that I think is interesting (all with a web development theme, of course).

LocalGov Drupal Microsites themes with sub-themes

The Confident Logo, Drupal Agency led by Mark Conroy

Want all of your microsites to have an identical theme, but also one some of them to have slight variations? I got you covered.

Here's a quick and scrappy video I put together to demonstrate how we can use a base theme for our LocalGov Drupal Microsites, and then subthemes of that base theme for custom overrides.

 

Join the "Something nice ..." newsletter

The full title is "Something nice, something quirky, something else".

I send an email once a week with something nice, something quirky, and something else that I think is interesting (all with a web development theme, of course).

My LocalGov Drupal contributions for September 2025

Beautifully crafted digital products and experiences that matter.

A good amount of contributions made this month, including getting LocalGov Replicate into a stable state.

Code Contributions

  1. We have had a number of councils ask for LocalGov Guides to be added to the Microsites Platform. I now have a PR to add the LocalGov Guides module to Microsites. And then a second PR to configure LocalGov Guides to work with microsites - this is done via a submodule in the LocalGov Microsites Group module.
  2. And after that, I did the same for Step-by-Step content types.
  3. And after that, I did the same for Publications content types.
  4. But that threw up an issue whereby we can't install Publications in Microsites because it has a dependency on LocalGov Services, which doesn't exist in Microsites. So I fixed it.
  5. In our efforts to make our LGD sites more and more (and more and more) accessible, we have a proposal to add the Drupal Editoria11y module to our CMS. I have a new "LocalGov Editoria11y" module created and added to Drupal.org which downloads the Editorially module and configures the permissions for it. I have a second PR to add this new module to our LocalGov Drupal.
  6. Last month I was working on some editor experience issues. One of the PRs I created was to change the "Description" tab for LocalGov Services to "Content". When complete, our tests showed that we have lots of failing tests in LocalGov Services, especially JavaScript and CSS coding standards. Great, says I to myself, that's an easy fix. But then ... I ended up needing to rewrite all the JS for LocalGov Services to remove the jQuery and use ES6+ JS instead, and then fix the coding standards. But it's great to have these larger refactors done now, or else we'll have to do them later.
  7. And then I sorted all the coding standards issues with the CSS for LocalGov Services. So now we're a few steps closer to getting our automated tests to pass.
  8. Maria noticed an inconsistency with our prev/next component not rendering the node titles for Step-by-Step navigation. So I created a PR to fix that.
  9. I created an issue about a year ago to allow some CSS variables to be set via the theme settings page for our themes. I finally got around to working on this and now have a PR ready for accent colour, line height, and base spacing. Then I took it one step further and extended the Colour Picker Fields module we have for microsites, so now we have a generic module for that. And then I went a step further and created the LocalGov Base feature as a submodule, so you can decide for example to not turn it on for microsites. And then I went a step even further to propose microsites should start using the more generic module as its base. And then my brain went all a bit mushy!!!
  10. When my head stopped being mushy, I had the bright idea to add a textarea to the theme settings so that we could add arbitrary CSS to a theme. I hope no one ships this CSS to production, but it might be handy during dev, especially in the year days before you have a sub-theme created. Here's the PR, get the popcorn!
  11. Last month we released a new feature to use the name of the document instead of the file name when embedding documents via media. This through up an issue with files uploaded via webform, which Andy fixed, but then it through up another issue with files added via node file fields, which I fixed.
  12. That last (node) issue was noticed when working on the Irish Planning Notices module. We also noticed that the default year for planning notices is set to 2023, so I created a PR to increase that to 2025.
  13. Then I thought, why not create a view to list each year up to 2030. So I created a PR for that.
  14. The LocalGov Replicate module is ready for a 1.0.0. release (and thus security team coverage), but is just waiting on an updated README. It now has an updated README. And it now has a 1.0.0 release!

Join the "Something nice ..." newsletter

The full title is "Something nice, something quirky, something else".

I send an email once a week with something nice, something quirky, and something else that I think is interesting (all with a web development theme, of course).

My LocalGov Drupal contributions for August 2025

Beautifully crafted digital products and experiences that matter.

Fewer meetings, more code ... read on.

August is a little quiet for meetings in LocalGov Drupal land. We close up all the meetings except Merge Tuesday while lots of people are away on holidays. On the flip side, that gives me a bit more time to write some code.

Meetings

  1. Merge Tuesdays: The big story from Merge Tuesdays this month was the release of 3.0.0 of LocalGov Microsites Base, with all the goodness of the new grid system from LocalGov Base.

Code Contributions

  1. Reviewing a simple PR that becomes a headache: basically what prop type is an attribute in Drupal.
  2. We all (or at least lots of us) use and love DDEV. I created a web component a few months ago to display a banner on any website with the DDEV sponsor Call to Action. The DDEV folk have updated their API so they sponsor amount can now be dynamically created in the web component and asked me to update the web component. So now if they update their requested sponsor amount, anyone using the web component to display the banner will also get the new update automatically. Not exactly LGD, but definitely a tool a lot of us LGD developers use.
  3. What looks like it might be a tricky issue often turns out simple. We are no longer printing empty h4 tags for facets if there is no facet title.
  4. I tried to focus on Microsites as much as possible this month, starting off with a tricky issue we have with the new grid system vs the alignment of blocks in the footer. I think I might have a fix for it now.
  5. I'm very surprised no one has noticed until now, but if you click anywhere on a page on mobile for our microsites, then the focus is immediately set to the 'Menu' button. It was only noticed when Dan tried to click on an input for directories. I have a PR ready for it now.
  6. I created/updated a PR so we have a better aria-label for facet blocks for Directory Channels on Microsites. But ...
  7. Then I had the idea that it would be good to apply this to all LocalGov Drupal sites, so I created an issue to apply it to LocalGov Base and also a PR to go with it.
  8. There is an open issue for a very tricky bug/feature (not sure which) that we have, in that we have a CSS class called .padding-horizontally which was added liberally to templates so that content would not bump up against the side of a page. However, this class means some things have more padding than others when you have nested templates. Christopher and me have started a major PR to fix this (and add some extra features to a new component we are creating called 'Section') so we can stipulate if it's a bleed component, or constrained component, etc. Hopefully we'll get this finished in the next few weeks and release it as part of a new major version of LocalGov Base.
  9. Another item that's been a bit frustrating is our original JavaScript for the Step-by-Step components, which doesn't fully follow Drupal best-practices (e.g. text strings are not translatable, it's using jQuery, etc). We started some discussions about, then Christopher wrote a PR for it, and I got it tested and approved. Team Work!
  10. I got some nice work done on the Modules List module, which will become part of the LocalGov Drupal Telemetry suite. Two items I fixed and released were updating the code to follow Drupal's coding standards, and changing the path from admin/modules/overview to admin/modules/modules-list.
  11. Following that, I created an issue to add a submodule for Modules List module to list some system information such as Drupal version, PHP version, Database type, etc. I have that ready now in a merge request but don't want to merge it until we chat about it at a Tech Group Drop-in. I'm unsure if it should be a submodule (it doesn't really have anything to do with modules list) or a standalone module or perhaps it's a security issue and should not be a module at all! So many questions.
  12. Fixed two tiny issues with the Scarfolk theme. Those kinds of issues that are hanging around for ages, but are so simple no one wants to look at them.
  13. For the LocalGov Replicate module, we check the route name of that current route and then change the word 'Replicate' to 'Clone'. This becomes inefficient since we don't know what modules/routes may be added in the future to a site. So now I have it fixed to check for any route that begins with entity.node..
  14. Following on from this, Replicate module dropdown operations button on admin/content uses 'Replicate' as it's string instead of 'Clone'. But not any more.
  15. And then I had a major item to check with the LocalGov Replicate module: does it work with microsites? Answer = no. So I wrote a localgov_replicate_microsites submodule to fix that. We now have an RC1 release for the LocalGov Replicate and will hopefully have a 1.0.0 full release next week.
  16. As part of our 'Editor Experience' mission, we want to start standardising the names of our tabs when editing content. I not have PRs open for the first tab in each content type to be 'Content' instead of the current jumble of 'Content', 'Details', 'Description', etc.
  17. Another part of our 'Editor Experience' missing is being able to add names to our documents, so that when they are displayed on the screen to users it will read something like this: My File (PDF, 2MB), instead of like this currently: my-file.pdf (PDF, 2MB). I've opened two PRs to sort this (1 and 2) and also a follow-up PR to make things even better.
  18. The Blogs Module is one that gets a little left aside (I think), as I don't know if many people even know it's there. So I did a good triage of the issues and nominated myself as a maintainer.
  19. Another 'Editor Experience' item we have is to change the listing at admin/content so it lists the last person to update a piece of content rather than the owner of the content, and then also be able to filter by that criteria. I created a PR for most of that, but can't figure out how to filter by the username of the last person to update the content (I can only figure out how to filter by their user ID).
  20. Since our "newsroom" field on the news article content type is a required field, we print a message reminding editors "Hey, you need to create a newsroom first", but if a council sets that field as not required, the message is still printed. I created a PR to only show the message if the field is required, but also to hide the field if there are no newsrooms available and the field is not required.

Online Course: Build a LocalGov Drupal Website

Did I mention I have a course coming out soon called "Build a LocalGov Drupal Website"? Why not sign up for updates about the course - and perhaps get a discount code when it's released.

Join the "Something nice ..." newsletter

The full title is "Something nice, something quirky, something else".

I send an email once a week with something nice, something quirky, and something else that I think is interesting (all with a web development theme, of course).

10 Topics to Consider for (LocalGov) Drupal Training

The Confident Logo, Drupal Agency led by Mark Conroy

This is a table of contents of a 10 part blog series for anyone considering Drupal or LocalGov Drupal training.

I spent some time over the past few weeks writing up a 10-part blog series of Drupal training topics (with some LocalGov Drupal-specific topics in the mix too).

To make it easy to find your way around them, here's a Table Of Contents:

  1. Drupal Training 1: Local Development Environment
  2. Drupal training 2: Drupal concepts
  3. Drupal training 3: Site building
  4. Drupal training 4: Extending Drupal with Modules
  5. Drupal training 5: Theming Drupal
  6. Drupal Training 6: LocalGov Drupal features out of the box
  7. Drupal Training 7: LocalGov Drupal extra features
  8. Drupal Training 8: LocalGov Drupal Theme System
  9. Drupal Training 9: LocalGov Drupal Microsites Platform
  10. Drupal Training 10: Deployments and Backups

The list isn't exhaustive, but if you are thinking of contracting someone to facilitate some Drupal/LocalGov Drupal training, it should make a good starting point for topics to learn about.

Join the "Something nice ..." newsletter

The full title is "Something nice, something quirky, something else".

I send an email once a week with something nice, something quirky, and something else that I think is interesting (all with a web development theme, of course).

Designing for LocalGov Drupal

The Confident: Build a LocalGov Drupal Website

Understanding the templates and CSS variables for LocalGov Drupal means you can design at scale, quickly, with no loss of quality.

I've been working on a template design for LocalGov Drupal recently, which I will make available for free for anyone to use as their starting point. 

Full disclosure: it will be the design that I use for an upcoming course I am going to release called "Build a LocalGov Drupal Website".

In this post I want to share some things to consider when designing for LocalGov Drupal.

Understand the LGD Template System

If you know what the LGD templates are going to output, you can design with that in mind. Why is this important? There are three main reasons:

  1. Your developers will not need to create custom templates for each component, allowing them to work faster.
  2. Any updates to LocalGov Drupal from the core team (e.g. if we fix an accessibility issue) will automatically be applied to your website when you update the codebase.
  3. Our templates are designed to follow the GOV.UK Design System patterns so should be very safe to use, saving your time/effort/money on researching new patterns.

An Example: the header

Our header template is quite complex, with a number of regions. It expects things in a certain order: Logo, Services dropdown button, Menu.

If you want to put things into a different order (logo, menu, services button) or add more to it (second menu above the main menu, search block, etc), then your developers will need to maintain a custom version of the header template. But not only that, a custom version of the header template cannot exist without a also overriding the general page template. We should file an issue to see if we can streamline this in the future, but for now, this is how it works.

In my course, we will use a custom header template so that we can see the process of what is involved.

Design Tokens

LocalGov Base theme has a lot of CSS variables for things like fonts, font sizes, widths, spacing, line-heights, and more. Most of these can be left as defaults (for example --spacing currently resolves to 1rem, and all other spacing variables are based on that (--spacing-large is calc(var(--spacing) * 1.5) - 1.5 times 1rem).

Try to only create new tokens/variables for things that are specific to your brand guidelines. These will probably include fonts, line-height, colours. If you think about this closely, the custom variables.css file that will be needed for your custom tokens could be as small as something like this:

body {
  --color-accent: #123456;
  --color-accent-2: #ffe146;
  --font-primary: roboto;
  --font-secondary: "Roboto Slab";
  --line-height: 2;
  --width-container: 72rem;
  --color-grey-lightest: #f5f5f5;
}

Designing a Styleguide

The styleguide you design can be as complex or as simple as you want. I like to keep them simple, so there is very little discussion needed about what is what, and even less maintenance for the future.

It's a good idea to have a grid system worked out for your page widths. The LGD grid system uses a 12-column grid, so it will make sense to follow that. You can set the max-width of your content area to whatever with you want. In the LocalGov Base theme there's a variable called --width-container. You can have that at any width you wish - 60rem (usually 960px) or 90rem (usually 1440px), etc. You can then apply that grid system to every frame in your Figma file, so when you design a component, it will automatically fit correctly in each page design.

Often I will just put the colours, fonts, and spacing scale into the design system. In Figma make sure to create a 'Style' for each of these so you can easily apply it to any item in your design. Here's an example:

LocalGov Drupal Styleguide from Build an LGD Website Course

Designing LocalGov Drupal Components

Components

LocalGov Drupal has a lot of components. Not all of them need a custom design. What you get "out of the box" should suffice for many needs (e.g. the accordion, quote, alert, etc components). With this being the case, let's focus on the custom designs that we will need. These might include things like:

  • Header
  • Footer
  • Breadcrumbs
  • Box Link
  • Page Header - title and introduction/lede
  • Link Block
  • Top Task
  • Call Out Box
  • Image/Media with Text
  • Card
  • Teaser

If you need more, feel free to design more. But remember the more you design, the more you need to maintain and document.

Patterns

Once you have your individual components designed, it's time then to think about your patterns. Patterns are amalgamations of components (either multiples of the same component or individual components placed along with each other) to show how individual components should be used. You might design patterns for:

  • Banner
  • Box Links Listing (multiple box links to create an initial IA for a service)
  • Page Header (page title and page introduction)
  • Link Blocks (multiple link blocks to create a service listing)
  • Card List (multiple cards for the featured news)
  • Teaser List (multiple teasers for listing pages/search results)

Here's an example of a card listing pattern with three components:

  1. Styled Header
  2. 3 Cards
  3. CTA Link

 

LocalGov Drupal Card List Pattern from the "Build a LocalGov Drupal Website" Course

 

Designing LocalGov Drupal Pages

Now that we have our styleguide, our components, and our patterns mapped out, we are ready to start designing our pages.

Create a frame for each page you need. In my course will we design the following:

  • Homepage
  • Homepage with Alert
  • Homepage with Promos (call out boxes)
  • Service Landing Page
  • Service Sub-Landing Page
  • Service Page
  • Directories Channel
  • Step-by-Step Page
  • Guide Page
  • Listing Page (news, for example)
  • News Page
  • Blog Page
  • Event Page
  • Search Modal

Each component that goes onto a page at this point should be an "instance" of a component from your components directory. This means if you change the design of a component at the component level, all the instances of that component will also update. Some examples:

Homepage

  • Header - component
  • Banner - component
  • Box Links - pattern
  • Services Listing - pattern
  • Image with Text - component
  • Card Listing - pattern
  • Call Out Box - pattern
  • Footer - component

And that might look like this:

LocalGov Drupal Homepage Design from the "Build a LocalGov Drupal Website" Course

 

Listing Page (e.g. News)

  • Header - component
  • Breadcrumbs - component
  • Page Header - pattern
  • Divider - component
  • Search Block - pattern
  • Filter Block 1 - pattern
  • Filter Block 2 - pattern
  • Teaser Listing - pattern

 

LocalGov Drupal Listing Page (News) from the "Build a LocalGov Drupal Website" Course

 

Wrap Up

What we can start to see here is that it's possible to design beautiful LocalGov Drupal website, that follow the well-tested patterns of the GOV.UK Design System. By having an understanding of how the LocalGov Drupal base theme works, we can do this at scale, quickly, without sacrificing any quality. That's how we make the foundational aims of LocalGov Drupal a reality.

If you'd like to use this design as the base for your own, you can view the Figma file here.

If you'd like to get notification about the "Build a LocalGov Drupal Website" course, you can sign up for updates here.

Join the "Something nice ..." newsletter

The full title is "Something nice, something quirky, something else".

I send an email once a week with something nice, something quirky, and something else that I think is interesting (all with a web development theme, of course).