惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Docker
GbyAI
GbyAI
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
小众软件
小众软件
Engineering at Meta
Engineering at Meta
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
B
Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog

Recent Commits to jekyll:master

fix: update clean command to take account of the keep_files option (#… · jekyll/jekyll@74d7513 docs: add DeployHQ to third-party deployment providers (#9991) · jekyll/jekyll@7697d24 docs: update wsl installation procedure (#9968) · jekyll/jekyll@202df57 fix: Run release-please workflow only in jekyll/jekyll repo (#9969) · jekyll/jekyll@d68f76e Update history to reflect merge of #9960 [ci skip] · jekyll/jekyll@08c22ee Add GitCMS to resources docs (#9960) · jekyll/jekyll@3ed83f6 Update history to reflect merge of #9954 [ci skip] · jekyll/jekyll@ff0d4dd build: fix broken CI on newer rubies (#9954) · jekyll/jekyll@65d534a Update history to reflect merge of #9925 [ci skip] · jekyll/jekyll@baab7bf Allow configuring future metadata for individual collections (#9925) · jekyll/jekyll@f07d4f7 Update history to reflect merge of #9914 [ci skip] · jekyll/jekyll@d0cf179 Add .ruby-lsp to default excludes (#9914) · jekyll/jekyll@3c45d9e Update history to reflect merge of #9920 [ci skip] · jekyll/jekyll@26ec089 Add logger to Gemfile for Ruby 4.0 (#9920) · jekyll/jekyll@7e79e46 Update history to reflect merge of #9923 [ci skip] · jekyll/jekyll@b49aa9b Bump supported versions (#9923) · jekyll/jekyll@ebe567c Update history to reflect merge of #9897 [ci skip] · jekyll/jekyll@4d3db3a Update WDM (0.1.1 → 0.2.0) in the Windows docs (#9897) · jekyll/jekyll@6da6739 Update history to reflect merge of #9912 [ci skip] · jekyll/jekyll@161f654 docs: Update contributor badge in README to include avatar height and… · jekyll/jekyll@e1b5fd6 Update history to reflect merge of #9889 [ci skip] · jekyll/jekyll@2fe6977
feat!: Streamline the release process for Jekyll (#9760) ...
mattr- · 2026-04-18 · via Recent Commits to jekyll:master
Original file line numberDiff line numberDiff line change

@@ -0,0 +1,17 @@

1+

{

2+

"pull-request-title-pattern": "chore: release 💎 ${version}",

3+

"packages": {

4+

".": {

5+

"changelog-path": "History.markdown",

6+

"release-type": "ruby",

7+

"bump-minor-pre-major": false,

8+

"bump-patch-for-minor-pre-major": false,

9+

"draft": false,

10+

"prerelease": false,

11+

"include-component-in-tag": false,

12+

"include-v-in-tag": true,

13+

"version-file": "lib/jekyll/version.rb"

14+

}

15+

},

16+

"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"

17+

}

Original file line numberDiff line numberDiff line change

@@ -0,0 +1,3 @@

1+

{

2+

".": "4.4.1"

3+

}

Original file line numberDiff line numberDiff line change

@@ -0,0 +1,50 @@

1+

# This workflow checks to ensure that all PR titles conform to the conventional

2+

# commit spec and use the correct type and scopes. The spec for conventional

3+

# commits can be found at https://www.conventionalcommits.org and there is a

4+

# nice cheatsheet in a github gist at

5+

# https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13

6+

#

7+

# The types in this workflow match the spec. The scopes are custom to

8+

# Jekyll and can be changed if desired.

9+

name: Conventional Commit Check

10+
11+

permissions:

12+

pull-requests: read

13+
14+

on:

15+

pull_request_target:

16+

types: [opened, edited, synchronize, reopened, ready_for_review]

17+

branches:

18+

- master

19+
20+

jobs:

21+

commit_lint:

22+

runs-on: ubuntu-latest

23+

steps:

24+

- uses: amannn/action-semantic-pull-request@v5.5.3

25+

env:

26+

GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

27+

with:

28+

types: |

29+

feat

30+

fix

31+

perf

32+

refactor

33+

docs

34+

style

35+

test

36+

chore

37+

scopes: |

38+

core

39+

cli

40+

commands

41+

plugins

42+

site

43+

helpers

44+

converters

45+

filters

46+

tags

47+

drops

48+

tests

49+

docs

50+

requireScope: false

Original file line numberDiff line numberDiff line change

@@ -0,0 +1,43 @@

1+

name: "Release, please!"

2+
3+

on:

4+

push:

5+

branches:

6+

- master

7+
8+

permissions:

9+

contents: write

10+

pull-requests: write

11+
12+

jobs:

13+

release-please:

14+

runs-on: ubuntu-latest

15+

outputs:

16+

release_created: ${{ steps.release.outputs.release_created }}

17+

tag_name: ${{ steps.release.outputs.tag_name }}

18+

steps:

19+

- name: Run Release Please

20+

id: release

21+

uses: googleapis/release-please-action@v4

22+

with:

23+

config-file: .github/release-please-config.json

24+

manifest-file: .github/release-please-manifest.json

25+

token: ${{ secrets.JEKYLLBOT_TOKEN }}

26+
27+

publish-gem:

28+

needs: release-please

29+

if: ${{ needs.release-please.outputs.release_created == 'true' }}

30+

runs-on: ubuntu-latest

31+

permissions:

32+

id-token: write

33+

contents: write

34+

steps:

35+

- name: Checkout Repository

36+

uses: actions/checkout@v6

37+

- name: Set up Ruby

38+

uses: ruby/setup-ruby@v1

39+

with:

40+

ruby-version: '3.3'

41+

bundler-cache: true

42+

- name: Build and Publish Gem

43+

uses: rubygems/release-gem@v1

Original file line numberDiff line numberDiff line change

@@ -8,6 +8,7 @@ require "yaml"

88
99

$LOAD_PATH.unshift File.expand_path("lib", __dir__)

1010

require "jekyll/version"

11+

require "bundler/gem_tasks"

1112
1213

Dir.glob("rake/**.rake").each { |f| import f }

1314

@@ -42,11 +43,15 @@ def gem_file

4243

end

4344
4445

def normalize_bullets(markdown)

45-

markdown.gsub(%r!\n\s{2}\*{1}!, "\n-")

46+

# Normalize both old-style indented bullets (" *") and

47+

# release-please-style non-indented bullets ("*") to "-"

48+

markdown.gsub(%r!\n\s{0,2}\*{1}!, "\n-")

4649

end

4750
4851

def linkify_prs(markdown)

49-

markdown.gsub(%r!(?<\!&)#(\d+)!) do |word|

52+

# Match bare PR references like #1234 but skip those already linkified

53+

# by release-please as [#1234](url)

54+

markdown.gsub(%r{(?<!&)(?<!\[)#(\d+)}) do |word|

5055

"[#{word}]({{ site.repository }}/issues/#{word.delete("#")})"

5156

end

5257

end

@@ -60,8 +65,10 @@ def liquid_escape(markdown)

6065

end

6166
6267

def custom_release_header_anchors(markdown)

63-

header_regexp = %r!^(\d{1,2})\.(\d{1,2})\.(\d{1,2}) \/ \d{4}-\d{2}-\d{2}!

64-

section_regexp = %r!^### \w+ \w+$!

68+

# Match old format: "X.Y.Z / YYYY-MM-DD"

69+

# Match new release-please format: "[X.Y.Z](compare-url) (YYYY-MM-DD)"

70+

header_regexp = %r!^(?:\[?)(\d{1,2})\.(\d{1,2})\.(\d{1,2})(?:\]\([^)]*\))? [\(/]\s?\d{4}-\d{2}-\d{2}\)?!

71+

section_regexp = %r!^### \w[\w ]*$!

6572

markdown.split(%r!^##\s!).map do |release_notes|

6673

_, major, minor, patch = *release_notes.match(header_regexp)

6774

release_notes

@@ -75,7 +82,8 @@ def slugify(header)

7582

end

7683
7784

def remove_head_from_history(markdown)

78-

index = markdown =~ %r!^##\s+\d+\.\d+\.\d+!

85+

# Match both old format "## X.Y.Z" and release-please format "## [X.Y.Z]"

86+

index = markdown =~ %r!^##\s+\[?\d+\.\d+\.\d+!

7987

markdown[index..-1]

8088

end

8189