Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Page's .GetPage "ambiguous" message when child is drafted #6034

Closed
regisphilibert opened this issue Jun 13, 2019 · 3 comments · Fixed by #6732
Closed

Page's .GetPage "ambiguous" message when child is drafted #6034

regisphilibert opened this issue Jun 13, 2019 · 3 comments · Fixed by #6732
Assignees
Milestone

Comments

@regisphilibert
Copy link
Member

regisphilibert commented Jun 13, 2019

I set up this demo repo for consutling: https://github.com/regisphilibert/get-page-ambiguous

  1. I create a directory to store pages of equal types.
  2. I create different directory which will share some homonymous files
content
├── _index.md
└── questions
    ├── what
    │   ├── _index.md
    │   ├── locations.md
    │   └── members.md
    ├── where
    │   ├── _index.md
    │   ├── locations.md
    │   └── members.md
    └── who
        ├── _index.md
        ├── locations.md
        └── members.md
  1. Set content/questions/who/members.md to draft.
  2. From the layout of layouts/questions/list.html which is used to build pages like who/_index.md, run:
  {{ with .GetPage "members.md" }}
    {{ .Title }}
  {{ end }}

I get the message:

Error: Error building site: failed to render pages: render of "section" failed: "/XXX/get-page-ambiguous/layouts/questions/list.html:2:10": execute of template failed: template: questions/list.html:2:10: executing "main" at <.GetPage>: error calling GetPage: failed to resolve ref: page reference "members.md" is ambiguous
rp:get-page-ambiguous cheribibi$ 

PS: Note that questions/_index.md uses a custom layout so it does not use the .GetPage "members" from which the ambiguous message is called for.

In this context would think .GetPage would simply return false upon not finding any sub pages of the current page.

@stale
Copy link

stale bot commented Oct 11, 2019

This issue has been automatically marked as stale because it has not had recent activity. The resources of the Hugo team are limited, and so we are asking for your help.
If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.
This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.

@stale stale bot added the Stale label Oct 11, 2019
@bep bep added the Keep label Oct 11, 2019
@stale stale bot removed the Stale label Oct 11, 2019
@bep bep added this to the v0.59 milestone Oct 11, 2019
@bep bep modified the milestones: v0.59, v0.60 Oct 21, 2019
@bep bep modified the milestones: v0.60, v0.61, v0.62 Nov 25, 2019
@bep bep modified the milestones: v0.62, v0.63 Dec 11, 2019
@bep bep modified the milestones: v0.63, v0.64 Jan 22, 2020
@bep bep modified the milestones: v0.64, v0.65 Jan 30, 2020
@bep bep self-assigned this Feb 15, 2020
@bep
Copy link
Member

bep commented Feb 15, 2020

A workaround is this:

 {{ with .GetPage "./members.md" }}
    {{ .Title }}
  {{ end }}

The historic reason why the above works like it does is because we use the same method in ref´ and relRefand as such this is kind of legacy behaviour. But I do agree that.GetPage` should behave as you would expect.

bep added a commit to bep/hugo that referenced this issue Feb 15, 2020
This commit introduces a new data structure to store pages and their resources.

This data structure is backed by radix trees.

This simplies tree operations, makes all pages a bundle,  and paves the way for gohugoio#6310.

Fixes gohugoio#6312
Fixes gohugoio#6087
Fixes gohugoio#6738
Fixes gohugoio#6412
Fixes gohugoio#6743
Fixes gohugoio#6875
Fixes gohugoio#6034
bep added a commit to bep/hugo that referenced this issue Feb 16, 2020
This commit introduces a new data structure to store pages and their resources.

This data structure is backed by radix trees.

This simplies tree operations, makes all pages a bundle,  and paves the way for gohugoio#6310.

Fixes gohugoio#6312
Fixes gohugoio#6087
Fixes gohugoio#6738
Fixes gohugoio#6412
Fixes gohugoio#6743
Fixes gohugoio#6875
Fixes gohugoio#6034
Fixes gohugoio#6902
bep added a commit to bep/hugo that referenced this issue Feb 16, 2020
This commit introduces a new data structure to store pages and their resources.

This data structure is backed by radix trees.

This simplies tree operations, makes all pages a bundle,  and paves the way for gohugoio#6310.

Fixes gohugoio#6312
Fixes gohugoio#6087
Fixes gohugoio#6738
Fixes gohugoio#6412
Fixes gohugoio#6743
Fixes gohugoio#6875
Fixes gohugoio#6034
Fixes gohugoio#6902
bep added a commit to bep/hugo that referenced this issue Feb 16, 2020
This commit introduces a new data structure to store pages and their resources.

This data structure is backed by radix trees.

This simplies tree operations, makes all pages a bundle,  and paves the way for gohugoio#6310.

Fixes gohugoio#6312
Fixes gohugoio#6087
Fixes gohugoio#6738
Fixes gohugoio#6412
Fixes gohugoio#6743
Fixes gohugoio#6875
Fixes gohugoio#6034
Fixes gohugoio#6902
bep added a commit to bep/hugo that referenced this issue Feb 17, 2020
This commit introduces a new data structure to store pages and their resources.

This data structure is backed by radix trees.

This simplies tree operations, makes all pages a bundle,  and paves the way for gohugoio#6310.

Fixes gohugoio#6312
Fixes gohugoio#6087
Fixes gohugoio#6738
Fixes gohugoio#6412
Fixes gohugoio#6743
Fixes gohugoio#6875
Fixes gohugoio#6034
Fixes gohugoio#6902
Fixes gohugoio#6173
Fixes gohugoio#6590
bep added a commit to bep/hugo that referenced this issue Feb 17, 2020
This commit introduces a new data structure to store pages and their resources.

This data structure is backed by radix trees.

This simplies tree operations, makes all pages a bundle,  and paves the way for gohugoio#6310.

Fixes gohugoio#6312
Fixes gohugoio#6087
Fixes gohugoio#6738
Fixes gohugoio#6412
Fixes gohugoio#6743
Fixes gohugoio#6875
Fixes gohugoio#6034
Fixes gohugoio#6902
Fixes gohugoio#6173
Fixes gohugoio#6590
bep added a commit to bep/hugo that referenced this issue Feb 17, 2020
This commit introduces a new data structure to store pages and their resources.

This data structure is backed by radix trees.

This simplies tree operations, makes all pages a bundle,  and paves the way for gohugoio#6310.

Fixes gohugoio#6312
Fixes gohugoio#6087
Fixes gohugoio#6738
Fixes gohugoio#6412
Fixes gohugoio#6743
Fixes gohugoio#6875
Fixes gohugoio#6034
Fixes gohugoio#6902
Fixes gohugoio#6173
Fixes gohugoio#6590
bep added a commit to bep/hugo that referenced this issue Feb 18, 2020
This commit introduces a new data structure to store pages and their resources.

This data structure is backed by radix trees.

This simplies tree operations, makes all pages a bundle,  and paves the way for gohugoio#6310.

Fixes gohugoio#6312
Fixes gohugoio#6087
Fixes gohugoio#6738
Fixes gohugoio#6412
Fixes gohugoio#6743
Fixes gohugoio#6875
Fixes gohugoio#6034
Fixes gohugoio#6902
Fixes gohugoio#6173
Fixes gohugoio#6590
bep added a commit to bep/hugo that referenced this issue Feb 18, 2020
This commit introduces a new data structure to store pages and their resources.

This data structure is backed by radix trees.

This simplies tree operations, makes all pages a bundle,  and paves the way for gohugoio#6310.

It also solves a set of annoying issues (see list below).

Not a motivation behind this, but this commit also makes Hugo in general a little bit faster and more memory effective (see benchmarks). Especially for partial rebuilds on content edits, but also when taxonomies is in use.

```
name                                   old time/op    new time/op    delta
SiteNew/Bundle_with_image/Edit-16        1.32ms ± 8%    1.00ms ± 9%  -24.42%  (p=0.029 n=4+4)
SiteNew/Bundle_with_JSON_file/Edit-16    1.28ms ± 0%    0.94ms ± 0%  -26.26%  (p=0.029 n=4+4)
SiteNew/Tags_and_categories/Edit-16      33.9ms ± 2%    21.8ms ± 1%  -35.67%  (p=0.029 n=4+4)
SiteNew/Canonify_URLs/Edit-16            40.6ms ± 1%    37.7ms ± 3%   -7.20%  (p=0.029 n=4+4)
SiteNew/Deep_content_tree/Edit-16        56.7ms ± 0%    51.7ms ± 1%   -8.82%  (p=0.029 n=4+4)
SiteNew/Many_HTML_templates/Edit-16      19.9ms ± 2%    18.3ms ± 3%   -7.64%  (p=0.029 n=4+4)
SiteNew/Page_collections/Edit-16         37.9ms ± 4%    34.0ms ± 2%  -10.28%  (p=0.029 n=4+4)
SiteNew/Bundle_with_image-16             10.7ms ± 0%    10.6ms ± 0%   -1.15%  (p=0.029 n=4+4)
SiteNew/Bundle_with_JSON_file-16         10.8ms ± 0%    10.7ms ± 0%   -1.05%  (p=0.029 n=4+4)
SiteNew/Tags_and_categories-16           43.2ms ± 1%    39.6ms ± 1%   -8.35%  (p=0.029 n=4+4)
SiteNew/Canonify_URLs-16                 47.6ms ± 1%    47.3ms ± 0%     ~     (p=0.057 n=4+4)
SiteNew/Deep_content_tree-16             73.0ms ± 1%    74.2ms ± 1%     ~     (p=0.114 n=4+4)
SiteNew/Many_HTML_templates-16           37.9ms ± 0%    38.1ms ± 1%     ~     (p=0.114 n=4+4)
SiteNew/Page_collections-16              53.6ms ± 1%    54.7ms ± 1%   +2.09%  (p=0.029 n=4+4)

name                                   old alloc/op   new alloc/op   delta
SiteNew/Bundle_with_image/Edit-16         486kB ± 0%     430kB ± 0%  -11.47%  (p=0.029 n=4+4)
SiteNew/Bundle_with_JSON_file/Edit-16     265kB ± 0%     209kB ± 0%  -21.06%  (p=0.029 n=4+4)
SiteNew/Tags_and_categories/Edit-16      13.6MB ± 0%     8.8MB ± 0%  -34.93%  (p=0.029 n=4+4)
SiteNew/Canonify_URLs/Edit-16            66.5MB ± 0%    63.9MB ± 0%   -3.95%  (p=0.029 n=4+4)
SiteNew/Deep_content_tree/Edit-16        28.8MB ± 0%    25.8MB ± 0%  -10.55%  (p=0.029 n=4+4)
SiteNew/Many_HTML_templates/Edit-16      6.16MB ± 0%    5.56MB ± 0%   -9.86%  (p=0.029 n=4+4)
SiteNew/Page_collections/Edit-16         16.9MB ± 0%    16.0MB ± 0%   -5.19%  (p=0.029 n=4+4)
SiteNew/Bundle_with_image-16             2.28MB ± 0%    2.29MB ± 0%   +0.35%  (p=0.029 n=4+4)
SiteNew/Bundle_with_JSON_file-16         2.07MB ± 0%    2.07MB ± 0%     ~     (p=0.114 n=4+4)
SiteNew/Tags_and_categories-16           14.3MB ± 0%    13.2MB ± 0%   -7.30%  (p=0.029 n=4+4)
SiteNew/Canonify_URLs-16                 69.1MB ± 0%    69.0MB ± 0%     ~     (p=0.343 n=4+4)
SiteNew/Deep_content_tree-16             31.3MB ± 0%    31.8MB ± 0%   +1.49%  (p=0.029 n=4+4)
SiteNew/Many_HTML_templates-16           10.8MB ± 0%    10.9MB ± 0%   +1.11%  (p=0.029 n=4+4)
SiteNew/Page_collections-16              21.4MB ± 0%    21.6MB ± 0%   +1.15%  (p=0.029 n=4+4)

name                                   old allocs/op  new allocs/op  delta
SiteNew/Bundle_with_image/Edit-16         4.74k ± 0%     3.86k ± 0%  -18.57%  (p=0.029 n=4+4)
SiteNew/Bundle_with_JSON_file/Edit-16     4.73k ± 0%     3.85k ± 0%  -18.58%  (p=0.029 n=4+4)
SiteNew/Tags_and_categories/Edit-16        301k ± 0%      198k ± 0%  -34.14%  (p=0.029 n=4+4)
SiteNew/Canonify_URLs/Edit-16              389k ± 0%      373k ± 0%   -4.07%  (p=0.029 n=4+4)
SiteNew/Deep_content_tree/Edit-16          338k ± 0%      262k ± 0%  -22.63%  (p=0.029 n=4+4)
SiteNew/Many_HTML_templates/Edit-16        102k ± 0%       88k ± 0%  -13.81%  (p=0.029 n=4+4)
SiteNew/Page_collections/Edit-16           176k ± 0%      152k ± 0%  -13.32%  (p=0.029 n=4+4)
SiteNew/Bundle_with_image-16              26.8k ± 0%     26.8k ± 0%   +0.05%  (p=0.029 n=4+4)
SiteNew/Bundle_with_JSON_file-16          26.8k ± 0%     26.8k ± 0%   +0.05%  (p=0.029 n=4+4)
SiteNew/Tags_and_categories-16             273k ± 0%      245k ± 0%  -10.36%  (p=0.029 n=4+4)
SiteNew/Canonify_URLs-16                   396k ± 0%      398k ± 0%   +0.39%  (p=0.029 n=4+4)
SiteNew/Deep_content_tree-16               317k ± 0%      325k ± 0%   +2.53%  (p=0.029 n=4+4)
SiteNew/Many_HTML_templates-16             146k ± 0%      147k ± 0%   +0.98%  (p=0.029 n=4+4)
SiteNew/Page_collections-16                210k ± 0%      215k ± 0%   +2.44%  (p=0.029 n=4+4)
```

Fixes gohugoio#6312
Fixes gohugoio#6087
Fixes gohugoio#6738
Fixes gohugoio#6412
Fixes gohugoio#6743
Fixes gohugoio#6875
Fixes gohugoio#6034
Fixes gohugoio#6902
Fixes gohugoio#6173
Fixes gohugoio#6590
@bep bep closed this as completed in #6732 Feb 18, 2020
@bep bep closed this as completed in eada236 Feb 18, 2020
@github-actions
Copy link

github-actions bot commented Feb 7, 2022

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants