diff --git a/layouts/shortcodes/codeimporter.html b/layouts/shortcodes/codeimporter.html
index 493f4448..d461b5bb 100644
--- a/layouts/shortcodes/codeimporter.html
+++ b/layouts/shortcodes/codeimporter.html
@@ -1,8 +1,27 @@
{{ $url := .Get "url" }}
{{ $type := .Get "type" }}
-{{ with resources.GetRemote (urls.Parse $url) }}
-{{ $codeBlock := printf "```%s\n%s\n```" $type .Content }}
-{{ $codeBlock | markdownify }}
+{{ $startLine := .Get "startLine" | default 1 | int }}
+{{ $startLine = sub $startLine 1 }}
+{{ $endLine := .Get "endLine" | default -1 | int }}
+{{ $selectedLines := slice }}
+{{ with resources.GetRemote ( printf $url ) }}
+ {{ $lines := split .Content "\n" }}
+ {{ $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 }}
-{{ errorf "Code Importer Shortcode - Unable to get remote resource" . }}
+ {{ errorf "Code Importer Shortcode - Unable to get remote resource" . }}
{{ end }}