mirror of
https://github.com/nunocoracao/blowfish.git
synced 2025-04-21 02:11:52 +02:00
Merge pull request #1558 from jason810496/main
✨ Add startLine, endLine Support for `codeimporter`
This commit is contained in:
commit
84dc447944
5 changed files with 58 additions and 4 deletions
|
@ -197,6 +197,8 @@ This shortcode is for importing code from external sources easily without copyin
|
||||||
| --------- | ------------------------------------------------------- |
|
| --------- | ------------------------------------------------------- |
|
||||||
| `url` | **Required** URL to an externally hosted code file. |
|
| `url` | **Required** URL to an externally hosted code file. |
|
||||||
| `type` | Code type used for syntax highlighting. |
|
| `type` | Code type used for syntax highlighting. |
|
||||||
|
| `startLine` | **Optional** The line number to start the import from. |
|
||||||
|
| `endLine` | **Optional** The line number to end the import at. |
|
||||||
|
|
||||||
|
|
||||||
<!-- prettier-ignore-end -->
|
<!-- prettier-ignore-end -->
|
||||||
|
@ -210,6 +212,13 @@ This shortcode is for importing code from external sources easily without copyin
|
||||||
```
|
```
|
||||||
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/layouts/shortcodes/mdimporter.html" type="go" >}}
|
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/layouts/shortcodes/mdimporter.html" type="go" >}}
|
||||||
|
|
||||||
|
```md
|
||||||
|
{{</* codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/config/_default/hugo.toml" type="toml" startLine="11" endLine="18" */>}}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/config/_default/hugo.toml" type="toml" startLine="11" endLine="18">}}
|
||||||
|
|
||||||
|
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
|
|
||||||
|
|
|
@ -197,7 +197,8 @@ This shortcode is for importing code from external sources easily without copyin
|
||||||
| --------- | ------------------------------------------------------- |
|
| --------- | ------------------------------------------------------- |
|
||||||
| `url` | **Required** URL to an externally hosted code file. |
|
| `url` | **Required** URL to an externally hosted code file. |
|
||||||
| `type` | Code type used for syntax highlighting. |
|
| `type` | Code type used for syntax highlighting. |
|
||||||
|
| `startLine` | **Optional** The line number to start the import from. |
|
||||||
|
| `endLine` | **Optional** The line number to end the import at. |
|
||||||
|
|
||||||
<!-- prettier-ignore-end -->
|
<!-- prettier-ignore-end -->
|
||||||
|
|
||||||
|
@ -210,6 +211,13 @@ This shortcode is for importing code from external sources easily without copyin
|
||||||
```
|
```
|
||||||
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/layouts/shortcodes/mdimporter.html" type="go" >}}
|
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/layouts/shortcodes/mdimporter.html" type="go" >}}
|
||||||
|
|
||||||
|
```md
|
||||||
|
{{</* codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/config/_default/hugo.toml" type="toml" startLine="11" endLine="18" */>}}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/config/_default/hugo.toml" type="toml" startLine="11" endLine="18">}}
|
||||||
|
|
||||||
|
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
|
|
||||||
|
|
|
@ -197,6 +197,8 @@ This shortcode is for importing code from external sources easily without copyin
|
||||||
| --------- | ------------------------------------------------------- |
|
| --------- | ------------------------------------------------------- |
|
||||||
| `url` | **Required** URL to an externally hosted code file. |
|
| `url` | **Required** URL to an externally hosted code file. |
|
||||||
| `type` | Code type used for syntax highlighting. |
|
| `type` | Code type used for syntax highlighting. |
|
||||||
|
| `startLine` | **Optional** The line number to start the import from. |
|
||||||
|
| `endLine` | **Optional** The line number to end the import at. |
|
||||||
|
|
||||||
|
|
||||||
<!-- prettier-ignore-end -->
|
<!-- prettier-ignore-end -->
|
||||||
|
@ -210,6 +212,13 @@ This shortcode is for importing code from external sources easily without copyin
|
||||||
```
|
```
|
||||||
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/layouts/shortcodes/mdimporter.html" type="go" >}}
|
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/layouts/shortcodes/mdimporter.html" type="go" >}}
|
||||||
|
|
||||||
|
```md
|
||||||
|
{{</* codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/config/_default/hugo.toml" type="toml" startLine="11" endLine="18" */>}}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/config/_default/hugo.toml" type="toml" startLine="11" endLine="18">}}
|
||||||
|
|
||||||
|
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
|
|
||||||
|
|
|
@ -197,6 +197,8 @@ data: {
|
||||||
| --------- | ---------------------------------- |
|
| --------- | ---------------------------------- |
|
||||||
| `url` | **必需的** 外部托管代码文件的 URL. |
|
| `url` | **必需的** 外部托管代码文件的 URL. |
|
||||||
| `type` | 用于语法突出显示的代码类型. |
|
| `type` | 用于语法突出显示的代码类型. |
|
||||||
|
| `startLine` | **可选** 从代码文件中导入的起始行. |
|
||||||
|
| `endLine` | **可选** 从代码文件中导入的结束行. |
|
||||||
|
|
||||||
|
|
||||||
<!-- prettier-ignore-end -->
|
<!-- prettier-ignore-end -->
|
||||||
|
@ -211,6 +213,13 @@ data: {
|
||||||
|
|
||||||
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/layouts/shortcodes/mdimporter.html" type="go" >}}
|
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/layouts/shortcodes/mdimporter.html" type="go" >}}
|
||||||
|
|
||||||
|
```md
|
||||||
|
{{</* codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/config/_default/hugo.toml" type="toml" startLine="11" endLine="18" */>}}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
{{< codeimporter url="https://raw.githubusercontent.com/nunocoracao/blowfish/main/config/_default/hugo.toml" type="toml" startLine="11" endLine="18">}}
|
||||||
|
|
||||||
|
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,27 @@
|
||||||
{{ $url := .Get "url" }}
|
{{ $url := .Get "url" }}
|
||||||
{{ $type := .Get "type" }}
|
{{ $type := .Get "type" }}
|
||||||
|
{{ $startLine := .Get "startLine" | default 1 | int }}
|
||||||
|
{{ $startLine = sub $startLine 1 }}
|
||||||
|
{{ $endLine := .Get "endLine" | default -1 | int }}
|
||||||
|
{{ $selectedLines := slice }}
|
||||||
{{ with resources.GetRemote (urls.Parse $url) }}
|
{{ with resources.GetRemote (urls.Parse $url) }}
|
||||||
{{ $codeBlock := printf "```%s\n%s\n```" $type .Content }}
|
{{ $lines := split .Content "\n" }}
|
||||||
{{ $codeBlock | markdownify }}
|
{{ $totalLine := $lines | len }}
|
||||||
|
|
||||||
|
{{ if ne $endLine -1 }}
|
||||||
|
{{ $endLine = math.Min $endLine $totalLine }}
|
||||||
|
{{ else }}
|
||||||
|
{{ $endLine = $totalLine }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if gt $startLine $endLine }}
|
||||||
|
{{ errorf "Code Importer Shortcode - startLine is greater than endLine" . }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $selectedLines := first $endLine $lines }}
|
||||||
|
{{ $selectedLines = after $startLine $selectedLines }}
|
||||||
|
{{ $codeBlock := printf "```%s\n%s\n```" $type (delimit $selectedLines "\n") }}
|
||||||
|
{{ $codeBlock | markdownify }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ errorf "Code Importer Shortcode - Unable to get remote resource" . }}
|
{{ errorf "Code Importer Shortcode - Unable to get remote resource" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
Loading…
Add table
Reference in a new issue