Branch: refs/heads/master
  Home:   https://github.com/jenkins-infra/jenkins.io
  Commit: c3291e799af2b289b75cbd8be04d0d91810279b2
      
https://github.com/jenkins-infra/jenkins.io/commit/c3291e799af2b289b75cbd8be04d0d91810279b2
  Author: Gavin Mogan <[email protected]>
  Date:   2021-10-02 (Sat, 02 Oct 2021)

  Changed paths:
    A content/blog/2010/2010-02-08-hudson-1-344-released.adoc
    R content/blog/2010/2010-02-08-hudson-1-344-released.html
    A 
content/blog/2010/2010-02-09-whats-going-on-with-the-hudsons-infrastructure.adoc
    R 
content/blog/2010/2010-02-09-whats-going-on-with-the-hudsons-infrastructure.html
    A 
content/blog/2010/2010-06-10-subversion-repository-change-notification-push-vs-pull.adoc
    R 
content/blog/2010/2010-06-10-subversion-repository-change-notification-push-vs-pull.html
    A 
content/blog/2010/2010-07-08-a-python-love-story-virtualenv-and-hudson.adoc
    R 
content/blog/2010/2010-07-08-a-python-love-story-virtualenv-and-hudson.html
    A content/blog/2010/2010-07-22-continuous-deployment-on-the-new-digg.adoc
    R content/blog/2010/2010-07-22-continuous-deployment-on-the-new-digg.html
    A content/blog/2010/2010-07-28-hosting-your-hudson-plugin-at-github.adoc
    R content/blog/2010/2010-07-28-hosting-your-hudson-plugin-at-github.html
    A 
content/blog/2010/2010-08-02-dogfooding-hudson-were-looking-for-slaves.adoc
    R 
content/blog/2010/2010-08-02-dogfooding-hudson-were-looking-for-slaves.html
    A content/blog/2010/2010-08-17-hudson-anonymous-usage-data.adoc
    R content/blog/2010/2010-08-17-hudson-anonymous-usage-data.html
    A content/blog/2010/2010-08-26-cloudbees-announce-hudson-as-a-service.adoc
    R content/blog/2010/2010-08-26-cloudbees-announce-hudson-as-a-service.html
    A content/blog/2010/2010-08-31-hudson-at-javazone-meetup-in-oslo.adoc
    R content/blog/2010/2010-08-31-hudson-at-javazone-meetup-in-oslo.html
    A content/blog/2010/2010-09-01-copenhagen-hudson-user-meetup.adoc
    R content/blog/2010/2010-09-01-copenhagen-hudson-user-meetup.html
    A content/blog/2010/2010-10-21-hudson-user-meet-up-in-jerusalem.adoc
    R content/blog/2010/2010-10-21-hudson-user-meet-up-in-jerusalem.html
    A content/blog/2010/2010-11-23-java-net-migration-status-update.adoc
    R content/blog/2010/2010-11-23-java-net-migration-status-update.html
    A content/blog/2011/2011-02-14-upcoming-jenkins-events-in-tokyo.adoc
    R content/blog/2011/2011-02-14-upcoming-jenkins-events-in-tokyo.html
    A content/blog/2011/2011-03-13-jenkins-hits-1-400.adoc
    R content/blog/2011/2011-03-13-jenkins-hits-1-400.html
    A content/blog/2011/2011-03-23-windows-installers-are-now-available.adoc
    R content/blog/2011/2011-03-23-windows-installers-are-now-available.html
    A content/blog/2011/2011-05-04-hamburg-hackathon-a-great-success.adoc
    R content/blog/2011/2011-05-04-hamburg-hackathon-a-great-success.html
    A content/blog/2011/2011-08-09-jenkins-user-conference-call-for-papers.adoc
    R content/blog/2011/2011-08-09-jenkins-user-conference-call-for-papers.html
    A content/blog/2011/2011-09-14-jenkins-long-term-release-1-409-2-is-out.adoc
    R content/blog/2011/2011-09-14-jenkins-long-term-release-1-409-2-is-out.html
    A 
content/blog/2011/2011-09-20-ips-packages-of-jenkins-for-solaris-openindiana.adoc
    R 
content/blog/2011/2011-09-20-ips-packages-of-jenkins-for-solaris-openindiana.html
    A content/blog/2011/2011-11-03-jenkins-community-survey.adoc
    R content/blog/2011/2011-11-03-jenkins-community-survey.html
    A content/blog/2011/2011-11-04-a-dead-bug-is-a-good-bug.adoc
    R content/blog/2011/2011-11-04-a-dead-bug-is-a-good-bug.html
    A 
content/blog/2011/2011-12-02-community-contributed-localizations-to-be-bundled-in-jenkins-1-443.adoc
    R 
content/blog/2011/2011-12-02-community-contributed-localizations-to-be-bundled-in-jenkins-1-443.html
    A 
content/blog/2011/2011-12-05-holiday-appeal-please-help-jenkins-pay-the-project-expense.adoc
    R 
content/blog/2011/2011-12-05-holiday-appeal-please-help-jenkins-pay-the-project-expense.html
    A content/blog/2012/2012-02-13-jenkins-user-conference-2012-paris.adoc
    R content/blog/2012/2012-02-13-jenkins-user-conference-2012-paris.html
    A 
content/blog/2012/2012-03-06-critical-security-advisory-in-jenkins-core.adoc
    R 
content/blog/2012/2012-03-06-critical-security-advisory-in-jenkins-core.html
    A content/blog/2012/2012-04-13-continuous-information-vol-2.adoc
    R content/blog/2012/2012-04-13-continuous-information-vol-2.html
    A content/blog/2012/2012-05-10-jenkins-user-conference-paris-summary.adoc
    R content/blog/2012/2012-05-10-jenkins-user-conference-paris-summary.html
    A content/blog/2012/2012-05-21-nyc-jenkins-user-conference-recap.adoc
    R content/blog/2012/2012-05-21-nyc-jenkins-user-conference-recap.html
    A content/blog/2012/2012-07-23-jenkins-user-conference-israel.adoc
    R content/blog/2012/2012-07-23-jenkins-user-conference-israel.html
    A 
content/blog/2012/2012-07-26-jenkins-user-conference-san-francisco-call-for-papers.adoc
    R 
content/blog/2012/2012-07-26-jenkins-user-conference-san-francisco-call-for-papers.html
    A 
content/blog/2012/2012-09-11-come-join-the-jenkins-user-conference-san-francisco-on-september-30th.adoc
    R 
content/blog/2012/2012-09-11-come-join-the-jenkins-user-conference-san-francisco-on-september-30th.html
    A content/blog/2012/2012-09-12-jenkins-user-event-cph.adoc
    R content/blog/2012/2012-09-12-jenkins-user-event-cph.html
    A 
content/blog/2012/2012-09-21-start-your-own-jenkins-meetup-in-10-easy-steps.adoc
    R 
content/blog/2012/2012-09-21-start-your-own-jenkins-meetup-in-10-easy-steps.html
    A content/blog/2012/2012-09-26-dinner-after-juc.adoc
    R content/blog/2012/2012-09-26-dinner-after-juc.html
    A content/blog/2012/2012-09-26-jenkins-sessions-at-javaone.adoc
    R content/blog/2012/2012-09-26-jenkins-sessions-at-javaone.html
    A content/blog/2012/2012-09-28-saturday-night-drink-up.adoc
    R content/blog/2012/2012-09-28-saturday-night-drink-up.html
    A content/blog/2012/2012-09-28-take-the-jenkins-survey.adoc
    R content/blog/2012/2012-09-28-take-the-jenkins-survey.html
    A content/blog/2012/2012-11-15-fundraising-for-travel-grant.adoc
    R content/blog/2012/2012-11-15-fundraising-for-travel-grant.html
    A 
content/blog/2012/2012-11-16-new-mailing-list-for-better-event-meet-up-local-community-coordination.adoc
    R 
content/blog/2012/2012-11-16-new-mailing-list-for-better-event-meet-up-local-community-coordination.html
    A content/blog/2012/2012-12-13-office-hours-next-week-metadata-plugin.adoc
    R content/blog/2012/2012-12-13-office-hours-next-week-metadata-plugin.html
    A content/blog/2012/2012-12-19-los-altos-hackathon-this-friday.adoc
    R content/blog/2012/2012-12-19-los-altos-hackathon-this-friday.html
    A content/blog/2013/2013-01-09-2012-jenkins-survey-results-are-in.adoc
    R content/blog/2013/2013-01-09-2012-jenkins-survey-results-are-in.html
    A content/blog/2013/2013-01-26-report-jenkins-meet-up-seoul.adoc
    R content/blog/2013/2013-01-26-report-jenkins-meet-up-seoul.html
    A content/blog/2013/2013-01-30-jenkins-hits-1-500.adoc
    R content/blog/2013/2013-01-30-jenkins-hits-1-500.html
    A 
content/blog/2013/2013-02-15-jenkins-ci-the-origins-of-butlers-build-masters-and-bowties.adoc
    R 
content/blog/2013/2013-02-15-jenkins-ci-the-origins-of-butlers-build-masters-and-bowties.html
    A 
content/blog/2013/2013-03-12-coming-to-gdc-join-us-for-a-jenkins-drink-up-at-21st-amendment.adoc
    R 
content/blog/2013/2013-03-12-coming-to-gdc-join-us-for-a-jenkins-drink-up-at-21st-amendment.html
    A 
content/blog/2013/2013-04-19-neuroscientists-embrace-continuous-integration-served-by-jenkins.adoc
    R 
content/blog/2013/2013-04-19-neuroscientists-embrace-continuous-integration-served-by-jenkins.html
    A content/blog/2013/2013-04-25-munich-hackathon.adoc
    R content/blog/2013/2013-04-25-munich-hackathon.html
    A 
content/blog/2013/2013-05-06-giving-back-to-the-community-3-ways-to-keep-jenkins-growing.adoc
    R 
content/blog/2013/2013-05-06-giving-back-to-the-community-3-ways-to-keep-jenkins-growing.html
    A 
content/blog/2013/2013-05-17-continuous-information-jenkins-newsletter-vol-4.adoc
    R 
content/blog/2013/2013-05-17-continuous-information-jenkins-newsletter-vol-4.html
    A 
content/blog/2013/2013-06-21-reducing-the-of-threads-in-jenkins-ssh-slaves.adoc
    R 
content/blog/2013/2013-06-21-reducing-the-of-threads-in-jenkins-ssh-slaves.html
    A content/blog/2013/2013-07-11-jenkins-user-conference-israel-summary.adoc
    R content/blog/2013/2013-07-11-jenkins-user-conference-israel-summary.html
    A content/blog/2013/2013-07-24-faster-slave-classloading.adoc
    R content/blog/2013/2013-07-24-faster-slave-classloading.html
    A 
content/blog/2013/2013-07-24-jenkins-user-event-in-copenhagen-on-september-6.adoc
    R 
content/blog/2013/2013-07-24-jenkins-user-event-in-copenhagen-on-september-6.html
    A content/blog/2013/2013-07-31-jenkins-user-conference-palo-alto-2013.adoc
    R content/blog/2013/2013-07-31-jenkins-user-conference-palo-alto-2013.html
    A 
content/blog/2013/2013-08-01-2-version-control-plugins-in-beta-testing-before-a-major-release.adoc
    R 
content/blog/2013/2013-08-01-2-version-control-plugins-in-beta-testing-before-a-major-release.html
    A content/blog/2013/2013-09-05-extreme-feedback-lamp-switch-gear-style.adoc
    R content/blog/2013/2013-09-05-extreme-feedback-lamp-switch-gear-style.html
    A content/blog/2013/2013-09-09-loader-io-plugin-developer-interview.adoc
    R content/blog/2013/2013-09-09-loader-io-plugin-developer-interview.html
    A 
content/blog/2013/2013-09-11-behind-the-scenes-of-the-jenkins-user-conference-palo-alto.adoc
    R 
content/blog/2013/2013-09-11-behind-the-scenes-of-the-jenkins-user-conference-palo-alto.html
    A 
content/blog/2013/2013-09-16-continuous-information-jenkins-newsletter-vol-5.adoc
    R 
content/blog/2013/2013-09-16-continuous-information-jenkins-newsletter-vol-5.html
    A content/blog/2013/2013-10-09-jenkins-at-netflix-juc-speaker-interview.adoc
    R content/blog/2013/2013-10-09-jenkins-at-netflix-juc-speaker-interview.html
    A content/blog/2013/2013-10-09-meet-the-community-in-juc.adoc
    R content/blog/2013/2013-10-09-meet-the-community-in-juc.html
    A 
content/blog/2013/2013-10-18-jenkins-user-conference-is-completely-full.adoc
    R 
content/blog/2013/2013-10-18-jenkins-user-conference-is-completely-full.html
    A content/blog/2013/2013-11-08-jenkins-scalability-summit-recap.adoc
    R content/blog/2013/2013-11-08-jenkins-scalability-summit-recap.html
    A content/blog/2013/2013-11-17-dkim-and-spf-deployed.adoc
    R content/blog/2013/2013-11-17-dkim-and-spf-deployed.html
    A 
content/blog/2013/2013-12-04-jenkins-user-conference-2013-palo-alto-wrap-up.adoc
    R 
content/blog/2013/2013-12-04-jenkins-user-conference-2013-palo-alto-wrap-up.html
    A content/blog/2014/2014-01-25-jenkins-at-fosdem-2014.adoc
    R content/blog/2014/2014-01-25-jenkins-at-fosdem-2014.html
    A content/blog/2014/2014-03-19-jenkins-user-conferences-this-year.adoc
    R content/blog/2014/2014-03-19-jenkins-user-conferences-this-year.html
    A 
content/blog/2014/2014-04-01-your-java-web-start-slaves-will-be-always-clean.adoc
    R 
content/blog/2014/2014-04-01-your-java-web-start-slaves-will-be-always-clean.html
    A 
content/blog/2014/2014-04-04-maven-job-type-performance-improvements-in-maven-plugin-2-2.adoc
    R 
content/blog/2014/2014-04-04-maven-job-type-performance-improvements-in-maven-plugin-2-2.html
    A content/blog/2014/2014-04-09-more-scalable-slaves.adoc
    R content/blog/2014/2014-04-09-more-scalable-slaves.html
    A content/blog/2014/2014-04-11-infoq-ci-survey-2014.adoc
    R content/blog/2014/2014-04-11-infoq-ci-survey-2014.html
    A content/blog/2014/2014-04-11-jenkins-1-532-3-lts-is-released.adoc
    R content/blog/2014/2014-04-11-jenkins-1-532-3-lts-is-released.html
    A 
content/blog/2014/2014-04-15-upcoming-jenkins-office-hours-acceptance-test-harness.adoc
    R 
content/blog/2014/2014-04-15-upcoming-jenkins-office-hours-acceptance-test-harness.html
    A content/blog/2014/2014-04-16-active-directory-plugin-improvements.adoc
    R content/blog/2014/2014-04-16-active-directory-plugin-improvements.html
    A content/blog/2014/2014-04-18-come-join-the-infra-team.adoc
    R content/blog/2014/2014-04-18-come-join-the-infra-team.html
    A content/blog/2014/2014-04-24-juc-agenda-posted.adoc
    R content/blog/2014/2014-04-24-juc-agenda-posted.html
    A content/blog/2014/2014-05-08-another-big-thank-you-to-rackspace.adoc
    R content/blog/2014/2014-05-08-another-big-thank-you-to-rackspace.html
    A 
content/blog/2014/2014-05-19-jenkins-office-hour-tutorial-on-writing-an-acceptance-test.adoc
    R 
content/blog/2014/2014-05-19-jenkins-office-hour-tutorial-on-writing-an-acceptance-test.html
    A content/blog/2014/2014-05-27-acceptance-test-project-progress-report.adoc
    R content/blog/2014/2014-05-27-acceptance-test-project-progress-report.html
    A content/blog/2014/2014-05-30-adopt-a-plugin.adoc
    R content/blog/2014/2014-05-30-adopt-a-plugin.html
    A 
content/blog/2014/2014-06-03-jenkins-user-conference-boston-is-around-the-corner.adoc
    R 
content/blog/2014/2014-06-03-jenkins-user-conference-boston-is-around-the-corner.html
    A content/blog/2014/2014-06-03-jenkins-won-sdtimes-100-2014.adoc
    R content/blog/2014/2014-06-03-jenkins-won-sdtimes-100-2014.html
    A content/blog/2014/2014-06-05-get-drunk-on-the-code-in-juc-boston.adoc
    R content/blog/2014/2014-06-05-get-drunk-on-the-code-in-juc-boston.html
    A content/blog/2014/2014-06-06-other-events-for-juc-visitors-cd-seminar.adoc
    R content/blog/2014/2014-06-06-other-events-for-juc-visitors-cd-seminar.html
    A content/blog/2014/2014-06-09-thinking-about-moving-on-to-servlet-3-0.adoc
    R content/blog/2014/2014-06-09-thinking-about-moving-on-to-servlet-3-0.html
    A 
content/blog/2014/2014-06-10-two-weeks-till-jenkins-user-conference-berlin.adoc
    R 
content/blog/2014/2014-06-10-two-weeks-till-jenkins-user-conference-berlin.html
    A 
content/blog/2014/2014-06-11-juc-speaker-sneakpeak-a-build-ecosystem-for-loosely-compiled-code.adoc
    R 
content/blog/2014/2014-06-11-juc-speaker-sneakpeak-a-build-ecosystem-for-loosely-compiled-code.html
    A 
content/blog/2014/2014-06-16-get-together-at-beer-garden-for-juc-berlin.adoc
    R 
content/blog/2014/2014-06-16-get-together-at-beer-garden-for-juc-berlin.html
    A 
content/blog/2014/2014-06-19-juc-europe-sneak-peak-integrated-pipelines.adoc
    R 
content/blog/2014/2014-06-19-juc-europe-sneak-peak-integrated-pipelines.html
    A content/blog/2014/2014-06-20-juc-boston-what-a-day.adoc
    R content/blog/2014/2014-06-20-juc-boston-what-a-day.html
    A content/blog/2014/2014-07-01-jenkins-office-hours-dotci.adoc
    R content/blog/2014/2014-07-01-jenkins-office-hours-dotci.html
    A content/blog/2014/2014-07-01-jenkins-user-meet-up-in-london.adoc
    R content/blog/2014/2014-07-01-jenkins-user-meet-up-in-london.html
    A content/blog/2014/2014-07-03-jenkins-office-hours-dotci.adoc
    R content/blog/2014/2014-07-03-jenkins-office-hours-dotci.html
    A 
content/blog/2014/2014-07-03-jenkins-user-event-and-code-camp-2014-copenhagen.adoc
    R 
content/blog/2014/2014-07-03-jenkins-user-event-and-code-camp-2014-copenhagen.html
    A content/blog/2014/2014-07-03-juc-berlin-summary.adoc
    R content/blog/2014/2014-07-03-juc-berlin-summary.html
    A content/blog/2014/2014-07-03-pictures-from-juc-and-cdsummit.adoc
    R content/blog/2014/2014-07-03-pictures-from-juc-and-cdsummit.html
    A 
content/blog/2014/2014-07-08-workflow-plugin-tutorial-writing-a-step-impl.adoc
    R 
content/blog/2014/2014-07-08-workflow-plugin-tutorial-writing-a-step-impl.html
    A 
content/blog/2014/2014-07-09-planned-changes-in-jenkins-user-conference-contact-information-collection.adoc
    R 
content/blog/2014/2014-07-09-planned-changes-in-jenkins-user-conference-contact-information-collection.html
    A content/blog/2014/2014-07-18-juc-israel-report.adoc
    R content/blog/2014/2014-07-18-juc-israel-report.html
    A content/blog/2014/2014-07-28-jenkins-figure-is-available-in-shapeways.adoc
    R content/blog/2014/2014-07-28-jenkins-figure-is-available-in-shapeways.html
    A content/blog/2014/2014-07-30-geek-choice-awards-2014.adoc
    R content/blog/2014/2014-07-30-geek-choice-awards-2014.html
    A content/blog/2014/2014-08-11-user-interface-refresh.adoc
    R content/blog/2014/2014-08-11-user-interface-refresh.html
    A content/blog/2014/2014-08-12-jenkins-user-meet-up-in-london.adoc
    R content/blog/2014/2014-08-12-jenkins-user-meet-up-in-london.html
    A content/blog/2014/2014-08-12-official-jenkins-lts-docker-image.adoc
    R content/blog/2014/2014-08-12-official-jenkins-lts-docker-image.html
    A content/blog/2014/2014-08-28-juc-sf-2014-is-here.adoc
    R content/blog/2014/2014-08-28-juc-sf-2014-is-here.html
    A content/blog/2014/2014-09-02-jenkins-user-meet-up-in-paris.adoc
    R content/blog/2014/2014-09-02-jenkins-user-meet-up-in-paris.html
    A content/blog/2014/2014-09-17-jenkins-workflow-summit-rsvp.adoc
    R content/blog/2014/2014-09-17-jenkins-workflow-summit-rsvp.html
    A content/blog/2014/2014-09-24-jenkins-in-javaone-2014.adoc
    R content/blog/2014/2014-09-24-jenkins-in-javaone-2014.html
    A 
content/blog/2014/2014-09-24-more-jenkins-related-continuous-delivery-events-in-chicago-washington-dc-and-san-francisco.adoc
    R 
content/blog/2014/2014-09-24-more-jenkins-related-continuous-delivery-events-in-chicago-washington-dc-and-san-francisco.html
    A content/blog/2014/2014-09-25-cve-2014-6271-impact-on-jenkins.adoc
    R content/blog/2014/2014-09-25-cve-2014-6271-impact-on-jenkins.html
    A content/blog/2014/2014-10-15-cve-2014-3566-poodle-impact-on-jenkins.adoc
    R content/blog/2014/2014-10-15-cve-2014-3566-poodle-impact-on-jenkins.html
    A 
content/blog/2014/2014-10-20-mobile-app-for-jenkins-user-conference-bay-area.adoc
    R 
content/blog/2014/2014-10-20-mobile-app-for-jenkins-user-conference-bay-area.html
    A content/blog/2014/2014-12-17-breakingbuilds.adoc
    R content/blog/2014/2014-12-17-breakingbuilds.html
    A 
content/blog/2015/2015-01-27-2015-jenkins-user-conferences-call-for-papers.adoc
    R 
content/blog/2015/2015-01-27-2015-jenkins-user-conferences-call-for-papers.html
    A 
content/blog/2015/2015-01-27-office-hours-tomorrow-workflow-security-model-and-plugin-compatibility.adoc
    R 
content/blog/2015/2015-01-27-office-hours-tomorrow-workflow-security-model-and-plugin-compatibility.html
    A content/blog/2015/2015-02-09-jenkins-celebration-day-is-february-26.adoc
    R content/blog/2015/2015-02-09-jenkins-celebration-day-is-february-26.html
    A content/blog/2015/2015-02-19-jenkins-100k-celebration-pictures.adoc
    R content/blog/2015/2015-02-19-jenkins-100k-celebration-pictures.html
    A content/blog/2015/2015-02-24-100k-celebration-podcast-recording.adoc
    R content/blog/2015/2015-02-24-100k-celebration-podcast-recording.html
    A content/blog/2015/2015-02-25-100k-celebration-podcast.adoc
    R content/blog/2015/2015-02-25-100k-celebration-podcast.html
    A content/blog/2015/2015-03-03-jenkins-user-conference-save-the-date.adoc
    R content/blog/2015/2015-03-03-jenkins-user-conference-save-the-date.html
    A 
content/blog/2015/2015-03-06-google-apps-sso-no-longer-supported-in-jenkins-openid-plugin.adoc
    R 
content/blog/2015/2015-03-06-google-apps-sso-no-longer-supported-in-jenkins-openid-plugin.html
    A 
content/blog/2015/2015-03-17-juc-2015-call-for-paper-deadlines-approaching.adoc
    R 
content/blog/2015/2015-03-17-juc-2015-call-for-paper-deadlines-approaching.html
    A content/blog/2015/2015-03-25-registration-for-juc-2015-is-open.adoc
    R content/blog/2015/2015-03-25-registration-for-juc-2015-is-open.html
    A content/blog/2015/2015-04-06-confluence-migration-this-weekend.adoc
    R content/blog/2015/2015-04-06-confluence-migration-this-weekend.html
    A content/blog/2015/2015-04-06-good-bye-java6.adoc
    R content/blog/2015/2015-04-06-good-bye-java6.html
    A 
content/blog/2015/2015-04-13-juc-world-tour-2015-keynote-speaker-news-and-early-bird-tickets.adoc
    R 
content/blog/2015/2015-04-13-juc-world-tour-2015-keynote-speaker-news-and-early-bird-tickets.html
    A content/blog/2015/2015-04-22-jenkins-user-conference-agenda-news.adoc
    R content/blog/2015/2015-04-22-jenkins-user-conference-agenda-news.html
    A 
content/blog/2015/2015-05-07-juc-speaker-blog-series-denis-chernilevskiy-juc-europe.adoc
    R 
content/blog/2015/2015-05-07-juc-speaker-blog-series-denis-chernilevskiy-juc-europe.html
    A 
content/blog/2015/2015-05-14-juc-speaker-blog-series-lorelei-mccollum-juc-u-s-east.adoc
    R 
content/blog/2015/2015-05-14-juc-speaker-blog-series-lorelei-mccollum-juc-u-s-east.html
    A 
content/blog/2015/2015-05-18-juc-speaker-blog-series-andrew-bayer-juc-europe.adoc
    R 
content/blog/2015/2015-05-18-juc-speaker-blog-series-andrew-bayer-juc-europe.html
    A 
content/blog/2015/2015-05-20-juc-speaker-blog-series-david-dang-juc-u-s-east.adoc
    R 
content/blog/2015/2015-05-20-juc-speaker-blog-series-david-dang-juc-u-s-east.html
    A 
content/blog/2015/2015-06-01-juc-speaker-blog-series-nobuaki-ogawa-juc-europe.adoc
    R 
content/blog/2015/2015-06-01-juc-speaker-blog-series-nobuaki-ogawa-juc-europe.html
    A 
content/blog/2015/2015-06-02-juc-speaker-blog-series-peter-vilim-juc-u-s-east.adoc
    R 
content/blog/2015/2015-06-02-juc-speaker-blog-series-peter-vilim-juc-u-s-east.html
    A 
content/blog/2015/2015-06-03-juc-speaker-blog-series-andrew-phillips-juc-u-s-east.adoc
    R 
content/blog/2015/2015-06-03-juc-speaker-blog-series-andrew-phillips-juc-u-s-east.html
    A 
content/blog/2015/2015-06-08-juc-speaker-blog-series-will-soula-juc-u-s-east.adoc
    R 
content/blog/2015/2015-06-08-juc-speaker-blog-series-will-soula-juc-u-s-east.html
    A 
content/blog/2015/2015-06-09-juc-speaker-blog-series-damien-coraboeuf-juc-europe.adoc
    R 
content/blog/2015/2015-06-09-juc-speaker-blog-series-damien-coraboeuf-juc-europe.html
    A 
content/blog/2015/2015-06-15-juc-speaker-blog-series-stephan-hochdrfer-juc-europe.adoc
    R 
content/blog/2015/2015-06-15-juc-speaker-blog-series-stephan-hochdrfer-juc-europe.html
    A 
content/blog/2015/2015-06-16-juc-speaker-blog-series-martin-hobson-juc-u-s-east.adoc
    R 
content/blog/2015/2015-06-16-juc-speaker-blog-series-martin-hobson-juc-u-s-east.html
    A content/blog/2015/2015-07-09-jenkins-user-event-scandinavia-2015.adoc
    R content/blog/2015/2015-07-09-jenkins-user-event-scandinavia-2015.html
    A 
content/blog/2015/2015-07-15-advancing-the-jenkins-gui-configuring-items-in-jenkins.adoc
    R 
content/blog/2015/2015-07-15-advancing-the-jenkins-gui-configuring-items-in-jenkins.html
    A 
content/blog/2015/2015-07-24-juc-u-s-east-slides-and-video-are-now-available-online.adoc
    R 
content/blog/2015/2015-07-24-juc-u-s-east-slides-and-video-are-now-available-online.html
    A 
content/blog/2015/2015-07-25-bay-area-jenkins-area-meet-up-is-looking-for-you.adoc
    R 
content/blog/2015/2015-07-25-bay-area-jenkins-area-meet-up-is-looking-for-you.html
    A 
content/blog/2015/2015-07-29-juc-europe-slides-and-video-are-now-available-online.adoc
    R 
content/blog/2015/2015-07-29-juc-europe-slides-and-video-are-now-available-online.html
    A content/blog/2015/2015-07-30-juc-u-s-west-news-agenda-is-up.adoc
    R content/blog/2015/2015-07-30-juc-u-s-west-news-agenda-is-up.html
    A 
content/blog/2015/2015-08-04-bay-area-jenkins-area-meet-up-kick-off-gathering-today.adoc
    R 
content/blog/2015/2015-08-04-bay-area-jenkins-area-meet-up-kick-off-gathering-today.html
    A 
content/blog/2015/2015-08-05-juc-speaker-blog-series-carlo-cadet-juc-u-s-west.adoc
    R 
content/blog/2015/2015-08-05-juc-speaker-blog-series-carlo-cadet-juc-u-s-west.html
    A 
content/blog/2015/2015-08-18-juc-speaker-blog-series-andrew-phillips-juc-u-s-west.adoc
    R 
content/blog/2015/2015-08-18-juc-speaker-blog-series-andrew-phillips-juc-u-s-west.html
    A 
content/blog/2015/2015-08-20-volume-9-of-the-jenkins-newsletter-continuous-information-is-out.adoc
    R 
content/blog/2015/2015-08-20-volume-9-of-the-jenkins-newsletter-continuous-information-is-out.html
    A 
content/blog/2015/2015-08-24-juc-speaker-blog-series-kaj-kandler-juc-u-s-west.adoc
    R 
content/blog/2015/2015-08-24-juc-speaker-blog-series-kaj-kandler-juc-u-s-west.html
    A 
content/blog/2015/2015-08-28-juc-speaker-blog-series-jamie-omeara-juc-u-s-west.adoc
    R 
content/blog/2015/2015-08-28-juc-speaker-blog-series-jamie-omeara-juc-u-s-west.html
    A content/blog/2015/2015-08-31-jenkins-cia-program-and-meetup-updates.adoc
    R content/blog/2015/2015-08-31-jenkins-cia-program-and-meetup-updates.html
    A 
content/blog/2015/2015-08-31-juc-speaker-blog-series-laurette-cisneros-juc-u-s-west.adoc
    R 
content/blog/2015/2015-08-31-juc-speaker-blog-series-laurette-cisneros-juc-u-s-west.html
    A content/blog/2015/2015-09-03-jenkins-user-conference-west-day-1.adoc
    R content/blog/2015/2015-09-03-jenkins-user-conference-west-day-1.html
    A content/blog/2015/2015-09-29-gui-improvements-on-the-horizon.adoc
    R content/blog/2015/2015-09-29-gui-improvements-on-the-horizon.html
    A content/blog/2015/2015-09-30-bay-area-jam.adoc
    R content/blog/2015/2015-09-30-bay-area-jam.html
    A content/blog/2015/2015-10-01-upcoming-in-office-hours-jenkins-2-0.adoc
    R content/blog/2015/2015-10-01-upcoming-in-office-hours-jenkins-2-0.html
    A content/blog/2015/2015-10-02-winners-of-docker-global-hack-day-3-are.adoc
    R content/blog/2015/2015-10-02-winners-of-docker-global-hack-day-3-are.html
    A content/blog/2015/2015-10-09-cooking-up-jams.adoc
    R content/blog/2015/2015-10-09-cooking-up-jams.html

  Log Message:
  -----------
  Auto convert all the html blog posts to adoc (for consistency) (#4597)

Script that ran the converstion (through pandoc)

```
const YAML = require('yaml')
const path = require('path');
const fs = require('fs').promises;
const matter = require('gray-matter');
const {spawn, execFileSync} = require('child_process');

async function main() {
  const htmlFiles = execFileSync('find', ['content/blog', '-name', 
'*.html']).toString().trim().split("\n").sort();
  for (const file of htmlFiles) {
    const body = await fs.readFile(file).then(buffer => buffer.toString('utf8'))
    const {content, data} = matter(body);
    const asciidoc = await convertBody(content).then(({stderr, stdout}) => {
      if (stderr) {
        throw new Error(stderr);
      }
      return stdout;
    });
    const asciiDocBody = [
      '---',
      YAML.stringify(data).trim(),
      '---',
      asciidoc
    ].join("\n")
    const newFile = file.substring(0, file.length - path.extname(file).length) 
+ '.adoc'
    console.log(file, '=>', newFile);
    await fs.writeFile(newFile, asciiDocBody);
  }
}

async function convertBody(body) {
  return new Promise(function (resolve, reject) {
    const command = 'pandoc';
    const args = [
      '--wrap=none',
      '-f',
      'html',
      '-t',
      'asciidoc',
      '--atx-headers',
      '-o',
      '-',
      '-',
    ];
    // console.log(`${command} ${args.map((a) => `"${a}"`).join(' ')}`);
    const p = spawn(
      command, args, {
      encoding: 'utf8',
      env: {...process.env, LANG: 'en_US.UTF-8', LC_CTYPE: 'en_US.UTF-8'},
      stdio: ['pipe', 'pipe', 'pipe'],
    },
    );
    p.once('error', reject);
    p.once('exit', () => resolve({stderr, stdout, }));

    let stderr = '';
    p.stderr.on('data', (data) => stderr += data);
    p.stderr.on('end', () => {if (stderr.trim()) 
{console.error(stderr.trim());} });
    let stdout = '';
    p.stdout.on('data', (data) => stdout += data);
    p.stdin.write(body);
    p.stdin.end();
  });
}

main().then(console.error);
```

Co-authored-by: Tim Jacomb <[email protected]>


-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkins-infra/jenkins.io/push/refs/heads/master/389f63-c3291e%40github.com.

Reply via email to