File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ import types from './tsconfig.json' with { type: 'json' }
1717/**
1818 * Utility tasks
1919 */
20- gulp . task ( 'assets' , assets . copy )
20+ gulp . task ( 'assets' , gulp . series ( assets . copy , assets . render ) )
2121gulp . task ( 'fixtures' , fixtures . compile )
2222gulp . task ( 'scripts' , gulp . series ( scripts . compile , scripts . version ) )
2323gulp . task ( 'styles' , gulp . series ( styles . compile , styles . version ) )
Original file line number Diff line number Diff line change 11import { join } from 'node:path'
22
33import * as config from '@nhsuk/frontend-config'
4+ import { files , icons } from '@nhsuk/frontend-lib'
45import { assets , task } from '@nhsuk/frontend-tasks'
56
7+ import { nunjucks } from '#lib'
8+
69/**
7- * Copy NHS.UK frontend images, icons and other assets
10+ * Copy NHS.UK frontend images and other assets
811 */
912export const copy = task . name ( 'assets:copy' , ( ) =>
1013 assets . copy ( 'nhsuk/assets/**' , {
1114 srcPath : join ( config . paths . pkg , 'src' ) ,
1215 destPath : join ( config . paths . pkg , 'dist/nhsuk/assets' )
1316 } )
1417)
18+
19+ /**
20+ * Render NHS.UK frontend icons
21+ */
22+ export const render = task . name ( 'assets:render' , async ( ) => {
23+ for ( const icon of icons . getNames ( ) ) {
24+ const svg = nunjucks . renderMacro ( 'nhsukIcon' , 'nhsuk/macros/icon.njk' , {
25+ context : icon
26+ } )
27+
28+ // Write icon SVG to destination
29+ await files . write ( `nhsuk-icon-${ icon } .svg` , {
30+ destPath : join ( config . paths . pkg , 'dist/nhsuk/assets/images' ) ,
31+ output : { contents : svg }
32+ } )
33+ }
34+ } )
Original file line number Diff line number Diff line change 1+ /**
2+ * Get icon names
3+ */
4+ export function getNames ( ) {
5+ return [
6+ 'arrow-down-circle' ,
7+ 'arrow-down' ,
8+ 'arrow-left-circle' ,
9+ 'arrow-left' ,
10+ 'arrow-right-circle' ,
11+ 'arrow-right' ,
12+ 'arrow-up-circle' ,
13+ 'arrow-up' ,
14+ 'chevron-down-circle' ,
15+ 'chevron-left-circle' ,
16+ 'chevron-right-circle' ,
17+ 'chevron-up-circle' ,
18+ 'cross' ,
19+ 'minus' ,
20+ 'plus' ,
21+ 'search' ,
22+ 'tick' ,
23+ 'user'
24+ ]
25+ }
Original file line number Diff line number Diff line change 33 */
44export * as components from './components.mjs'
55export * as files from './files.mjs'
6+ export * as icons from './icons.mjs'
67export * as screenshots from './screenshots.mjs'
You can’t perform that action at this time.
0 commit comments