-{{ $gh_repo_path := printf "%s/content/%s" $gh_branch $pathFormatted }}
-{{ if and ($gh_subdir) (.Site.Language.Lang) }}
-{{ $gh_repo_path = printf "%s/%s/content/%s/%s" $gh_branch $gh_subdir ($.Site.Language.Lang) $pathFormatted }}
-{{ else if .Site.Language.Lang }}
-{{ $gh_repo_path = printf "%s/content/%s/%s" $gh_branch ($.Site.Language.Lang) $pathFormatted }}
-{{ else if $gh_subdir }}
-{{ $gh_repo_path = printf "%s/%s/content/%s" $gh_branch $gh_subdir $pathFormatted }}
-{{ end }}
-{{ $editURL := printf "%s/edit/%s" $gh_repo $gh_repo_path }}
-{{ $createURL := printf "%s/edit/%s" $gh_repo $gh_repo_path }}
-{{ $issuesURL := printf "%s/issues/new/choose" $gh_repo}}
-{{ $newPageStub := resources.Get "stubs/new-page-template.md" }}
-{{ $newPageQS := querify "value" $newPageStub.Content "filename" "change-me.md" | safeURL }}
-{{ $newPageURL := printf "%s/new/%s?%s" $gh_repo $gh_repo_path $newPageQS }}
+{{ if .File }}
+{{ $pathFormatted := replace .File.Path "\\" "/" -}}
+{{ $gh_repo := ($.Param "github_repo") -}}
+{{ $gh_url := ($.Param "github_url") -}}
+{{ $gh_subdir := ($.Param "github_subdir") -}}
+{{ $gh_project_repo := ($.Param "github_project_repo") -}}
+{{ $gh_branch := (default "main" ($.Param "github_branch")) -}}
+
+{{ if $gh_url -}}
+ {{ warnf "Warning: use of `github_url` is deprecated. For details see https://www.docsy.dev/docs/adding-content/repository-links/#github_url-optional" -}}
+
{{ T "post_edit_this" }}
+{{ else if $gh_repo -}}
+ {{ $gh_repo_path := printf "%s/content/%s" $gh_branch $pathFormatted -}}
+ {{ if and ($gh_subdir) (.Site.Language.Lang) -}}
+ {{ $gh_repo_path = printf "%s/%s/content/%s/%s" $gh_branch $gh_subdir ($.Site.Language.Lang) $pathFormatted -}}
+ {{ else if .Site.Language.Lang -}}
+ {{ $gh_repo_path = printf "%s/content/%s/%s" $gh_branch ($.Site.Language.Lang) $pathFormatted -}}
+ {{ else if $gh_subdir -}}
+ {{ $gh_repo_path = printf "%s/%s/content/%s" $gh_branch $gh_subdir $pathFormatted -}}
+ {{ end -}}
-
{{ T "post_edit_this" }}
-
{{ T "post_create_issue" }}
+ {{/* Adjust $gh_repo_path based on path_base_for_github_subdir */ -}}
+ {{ $ghs_base := $.Param "path_base_for_github_subdir" -}}
+ {{ $ghs_rename := "" -}}
+ {{ if reflect.IsMap $ghs_base -}}
+ {{ $ghs_rename = $ghs_base.to -}}
+ {{ $ghs_base = $ghs_base.from -}}
+ {{ end -}}
+ {{ with $ghs_base -}}
+ {{ $gh_repo_path = replaceRE . $ghs_rename $gh_repo_path -}}
+ {{ end -}}
+
+ {{ $viewURL := printf "%s/tree/%s" $gh_repo $gh_repo_path -}}
+ {{ $editURL := printf "%s/edit/%s" $gh_repo $gh_repo_path -}}
+ {{ $issuesURL := printf "%s/issues/new/choose" $gh_repo -}}
+ {{ $newPageStub := resources.Get "stubs/new-page-template.md" -}}
+ {{ $newPageQS := querify "value" $newPageStub.Content "filename" "change-me.md" | safeURL -}}
+ {{ $newPageURL := printf "%s/new/%s?%s" $gh_repo $gh_repo_path $newPageQS -}}
+
+
{{ T "post_edit_this" }}
+
{{ T "post_create_issue" }}
+
+ {{ with $gh_project_repo -}}
+ {{ $project_issueURL := printf "%s/issues/new/choose" . -}}
+
{{ T "post_create_project_issue" }}
+ {{ end -}}
+
+{{ end -}}
+{{ with .CurrentSection.AlternativeOutputFormats.Get "print" -}}
+
{{ T "print_entire_section" }}
+{{ end }}