
Security News
Google’s OSV Fix Just Added 500+ New Advisories — All Thanks to One Small Policy Change
A data handling bug in OSV.dev caused disputed CVEs to disappear from vulnerability feeds until a recent fix restored over 500 advisories.
cfgov-sheer-templates
Advanced tools
This is a repository of base templates for consumerfinance.gov pages served by the Sheer engine.
This repo is currently housing templates that bridge the gap between the current WordPress theme (cfpb_nemo) and future sitewide Sheer templates.
The hopeful, eventual end state of this repo is the single source for all HTML, CSS, and JavaScript for sitewide use on consumerfinance.gov.
_layouts
Layouts pull together everything needed to display a whole page.
base.html
The base template on which all others are built. Includes:
<html>
{% import macros %}
<head>
<!-- Global meta -->
<!-- Page-specific meta -->
<!-- Global styles -->
{% block additional_styles %}
<!-- Global head scripts -->
{% block head_scripts %}
</head>
<body>
<!-- Analytics -->
{% block body_top %}
{% block include_header %}
{% block content %}
{% block include_footer %}
{% block body_bottom %}
<!-- Global body scripts -->
{% block body_scripts %}
</body>
</html>
_includes
Includes are template partials and Jinja helpers.
nemo_header.html
, nemo_subnav.html
, and nemo_footer.html
Included in base.html
, these files contain replicas of the current
(as of November 2015) consumerfinance.gov header, navigation and footer,
adapted to have basic responsiveness.
Styles for these are found in nemo.less
and nemo-shim.less
.
secondary-navigation.html
This file sets up a left-hand navigation sidebar based on the designs modeled by cfgov-refresh.
See below for further instructions.
macros.html
Stores macros that can be called in templates.
Imported into base.html
so that it's available everywhere.
Coming soon: getting started instructions.
To activate the sidebar secondary navigation, first create a nav_items
variable
in a new include file in your project.
The recommended naming convention is _vars-<projectname>.html
.
Each item has three components: the path, an ID for the item, and the link text.
Use this example from the FinEd Resources project to guide you:
{% set nav_items = [
('/adult-financial-education/', 'adult-financial-education', 'Adult financial education'),
('/youth-financial-education/', 'youth-financial-education', 'Youth financial education'),
('/library-resources', 'library-resources', 'Resources for libraries'),
('/parents/', 'parents', 'Resources for parents'),
('/managing-someone-elses-money/', 'managing-someone-elses-money', 'Guides for managing someone else’s money'),
] -%}
On each page, after extending layout-side-nav.html
,
set the active_nav_id
variable to enable highlighting the current page,
and then import the _vars
file you just created:
{% set active_nav_id = 'library-resources' -%}
{% import '_vars-libraries.html' as libraries with context %}
You'll also want to grab the latest styles for the navigation component from the cfgov-refresh project
If you'd like to use two-level sidebar navigation, then for each parent nav item that will have children:
Add a fourth element, named <parentitem>.children
to the parent item
in the nav_items
declaration, like so:
('/library-resources', 'library-resources', 'Resources for libraries', libraries.children),
Add a line like this, above the nav_items
declaration:
{% set libraries = { 'children': null } if not libraries else libraries %}
Create a _vars-<parentitem>.html
file with a children
declaration:
{% set children = [
('/library-resources/program-ideas/', 'program-ideas', 'Program ideas'),
('/library-resources/librarian-training/', 'librarian-training', 'Librarian training'),
('/library-resources/marketing-materials/', 'marketing-materials', 'Marketing materials'),
('/library-resources/websites-videos-courses/', 'websites-videos-courses', 'Websites, videos, and courses'),
] -%}
Import the new _vars
file in the parent and its children,
under the import of the main _vars
file.
Continuing with the Libraries example, the first four lines of our
library-resources/index.html
file now look like this:
{% extends 'layout-side-nav.html' %}
{% set active_nav_id = 'library-resources' %}
{% import '_vars-libraries.html' as libraries with context %}
{% import '_vars-resources.html' as vars with context %}
Note: Use of this navigation sidebar requires your project to have the cf-expandables package available.
We welcome your feedback and contributions.
2.1.9 - February 21, 2018
FAQs
Sheer templates for consumerfinance.gov
We found that cfgov-sheer-templates demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A data handling bug in OSV.dev caused disputed CVEs to disappear from vulnerability feeds until a recent fix restored over 500 advisories.
Research
/Security News
175 malicious npm packages (26k+ downloads) used unpkg CDN to host redirect scripts for a credential-phishing campaign targeting 135+ organizations worldwide.
Security News
Python 3.14 adds template strings, deferred annotations, and subinterpreters, plus free-threaded mode, an experimental JIT, and Sigstore verification.