@@ -407,12 +407,7 @@ def ensure_template_config_bootstrap!
407407 end
408408
409409 def seed_bootstrap_template_config ( content )
410- values = bootstrap_template_config_values
411- values . reduce ( content . to_s ) do |memo , ( token , value ) |
412- next memo if value . to_s . strip . empty?
413-
414- memo . gsub ( "{#{ token } }" , value )
415- end
410+ Kettle ::Jem ::TemplateHelpers . seed_kettle_config_content ( content , bootstrap_template_config_values )
416411 end
417412
418413 def bootstrap_template_config_values
@@ -422,28 +417,36 @@ def bootstrap_template_config_values
422417 given_names , family_names = split_author_name ( author_name )
423418
424419 {
425- "KJ|AUTHOR:NAME" => author_name ,
426- "KJ|AUTHOR:GIVEN_NAMES" => preferred_bootstrap_env ( "KJ_AUTHOR_GIVEN_NAMES" ) || given_names ,
427- "KJ|AUTHOR:FAMILY_NAMES" => preferred_bootstrap_env ( "KJ_AUTHOR_FAMILY_NAMES" ) || family_names ,
428- "KJ|AUTHOR:EMAIL" => author_email ,
429- "KJ|AUTHOR:DOMAIN" => author_domain ,
430- "KJ|AUTHOR:ORCID" => preferred_bootstrap_env ( "KJ_AUTHOR_ORCID" ) ,
431- "KJ|GH:USER" => preferred_bootstrap_env ( "KJ_GH_USER" ) ,
432- "KJ|GL:USER" => preferred_bootstrap_env ( "KJ_GL_USER" ) ,
433- "KJ|CB:USER" => preferred_bootstrap_env ( "KJ_CB_USER" ) ,
434- "KJ|SH:USER" => preferred_bootstrap_env ( "KJ_SH_USER" ) ,
435- "KJ|FUNDING:PATREON" => preferred_bootstrap_env ( "KJ_FUNDING_PATREON" ) ,
436- "KJ|FUNDING:KOFI" => preferred_bootstrap_env ( "KJ_FUNDING_KOFI" ) ,
437- "KJ|FUNDING:PAYPAL" => preferred_bootstrap_env ( "KJ_FUNDING_PAYPAL" ) ,
438- "KJ|FUNDING:BUYMEACOFFEE" => preferred_bootstrap_env ( "KJ_FUNDING_BUYMEACOFFEE" ) ,
439- "KJ|FUNDING:POLAR" => preferred_bootstrap_env ( "KJ_FUNDING_POLAR" ) ,
440- "KJ|FUNDING:LIBERAPAY" => preferred_bootstrap_env ( "KJ_FUNDING_LIBERAPAY" ) ,
441- "KJ|FUNDING:ISSUEHUNT" => preferred_bootstrap_env ( "KJ_FUNDING_ISSUEHUNT" ) ,
442- "KJ|SOCIAL:MASTODON" => preferred_bootstrap_env ( "KJ_SOCIAL_MASTODON" ) ,
443- "KJ|SOCIAL:BLUESKY" => preferred_bootstrap_env ( "KJ_SOCIAL_BLUESKY" ) ,
444- "KJ|SOCIAL:LINKTREE" => preferred_bootstrap_env ( "KJ_SOCIAL_LINKTREE" ) ,
445- "KJ|SOCIAL:DEVTO" => preferred_bootstrap_env ( "KJ_SOCIAL_DEVTO" ) ,
446- }
420+ "forge" => {
421+ "gh_user" => preferred_bootstrap_env ( "KJ_GH_USER" ) ,
422+ "gl_user" => preferred_bootstrap_env ( "KJ_GL_USER" ) ,
423+ "cb_user" => preferred_bootstrap_env ( "KJ_CB_USER" ) ,
424+ "sh_user" => preferred_bootstrap_env ( "KJ_SH_USER" ) ,
425+ } . reject { |_ , value | value . to_s . strip . empty? } ,
426+ "author" => {
427+ "name" => author_name ,
428+ "given_names" => preferred_bootstrap_env ( "KJ_AUTHOR_GIVEN_NAMES" ) || given_names ,
429+ "family_names" => preferred_bootstrap_env ( "KJ_AUTHOR_FAMILY_NAMES" ) || family_names ,
430+ "email" => author_email ,
431+ "domain" => author_domain ,
432+ "orcid" => preferred_bootstrap_env ( "KJ_AUTHOR_ORCID" ) ,
433+ } . reject { |_ , value | value . to_s . strip . empty? } ,
434+ "funding" => {
435+ "patreon" => preferred_bootstrap_env ( "KJ_FUNDING_PATREON" ) ,
436+ "kofi" => preferred_bootstrap_env ( "KJ_FUNDING_KOFI" ) ,
437+ "paypal" => preferred_bootstrap_env ( "KJ_FUNDING_PAYPAL" ) ,
438+ "buymeacoffee" => preferred_bootstrap_env ( "KJ_FUNDING_BUYMEACOFFEE" ) ,
439+ "polar" => preferred_bootstrap_env ( "KJ_FUNDING_POLAR" ) ,
440+ "liberapay" => preferred_bootstrap_env ( "KJ_FUNDING_LIBERAPAY" ) ,
441+ "issuehunt" => preferred_bootstrap_env ( "KJ_FUNDING_ISSUEHUNT" ) ,
442+ } . reject { |_ , value | value . to_s . strip . empty? } ,
443+ "social" => {
444+ "mastodon" => preferred_bootstrap_env ( "KJ_SOCIAL_MASTODON" ) ,
445+ "bluesky" => preferred_bootstrap_env ( "KJ_SOCIAL_BLUESKY" ) ,
446+ "linktree" => preferred_bootstrap_env ( "KJ_SOCIAL_LINKTREE" ) ,
447+ "devto" => preferred_bootstrap_env ( "KJ_SOCIAL_DEVTO" ) ,
448+ } . reject { |_ , value | value . to_s . strip . empty? } ,
449+ } . reject { |_ , values | values . empty? }
447450 end
448451
449452 def preferred_bootstrap_env ( key )
0 commit comments