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

Allow "relative" URL in front matter #5704

Closed
bep opened this Issue Feb 21, 2019 · 1 comment

Comments

Projects
None yet
2 participants
@bep
Copy link
Member

bep commented Feb 21, 2019

Currently you can do:

---
title: "Search!"
url: "/search.json"
---

And we would treat the above as an URL starting from the BaseURL root. Which is good.

But in multi-language setups you would then have to do something ala:

---
title: "Custom!"
url: "/en/custom/foo"
---

To set a custom URL for that language. Which works.

It would, however, be very useful if we had support for a relative way of doing this. I have quoted the word relative in the issue title, as I'm really not sure what it should be relative to.

This also ties into #5139 and similar.

I would think that this:

---
title: "Custom!"
url: "custom/foo"
---

Would be relative to the content's language.

/cc @regisphilibert

@bep bep added the Enhancement label Feb 21, 2019

@bep bep added this to the v0.55 milestone Feb 21, 2019

@regisphilibert

This comment has been minimized.

Copy link

regisphilibert commented Feb 21, 2019

Yes! Most wanted. Language should be abstracted when possible so that if you ever need to update your config to say make your default Lang live in a subdirectory or host langs on subdomain, the ‘url’ Param does not break your Permalink structure.

@bep bep self-assigned this Feb 21, 2019

bep added a commit to bep/hugo that referenced this issue Feb 21, 2019

bep added a commit to bep/hugo that referenced this issue Feb 26, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707

bep added a commit to bep/hugo that referenced this issue Feb 27, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719

bep added a commit to bep/hugo that referenced this issue Feb 28, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719

bep added a commit to bep/hugo that referenced this issue Mar 7, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719

bep added a commit to bep/hugo that referenced this issue Mar 7, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719

bep added a commit to bep/hugo that referenced this issue Mar 8, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719

bep added a commit to bep/hugo that referenced this issue Mar 12, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 12, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 12, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 13, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 13, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 14, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 14, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 16, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 16, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 16, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 17, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 17, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 17, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5759
Fixes gohugoio#5758
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 17, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5758
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 18, 2019

Add a Page interface
The main motivation of this commit is to add a `page.Page` interface to replace the old very file-oriented `hugolib.Page` struct to prepare for gohugoio#5074, "pages from other data sources".

But this also fixes a set of annoying limiations, especially related to custom output formats, and shortcodes. And it's faster.

See gohugoio#5074
Fixes gohugoio#5763
Fixes gohugoio#5758
Fixes gohugoio#5090
Fixes gohugoio#5204
Fixes gohugoio#4695
Fixes gohugoio#5607
Fixes gohugoio#5704
Fixes gohugoio#5707
Fixes gohugoio#5719
Fixes gohugoio#3113
Fixes gohugoio#5706

bep added a commit to bep/hugo that referenced this issue Mar 31, 2019

hugolib: Allow relative URLs in front matter
Before this commit you would have to do this in multilingual setups:

---
title: "Custom!"
url: "/jp/custom/foo"
---

This commit allows for relative URLs, e.g:

---
title: "Custom!"
url: "custom/foo"
---

Which is obviously easier and more portable.

The meaning of relative may change to include more in the future (e.g. role based access).

Fixes gohugoio#5704

bep added a commit to bep/hugo that referenced this issue Mar 31, 2019

hugolib: Allow relative URLs in front matter
Before this commit you would have to do this in multilingual setups:

---
title: "Custom!"
url: "/jp/custom/foo"
---

This commit allows for relative URLs, e.g:

---
title: "Custom!"
url: "custom/foo"
---

Which is obviously easier and more portable.

The meaning of relative may change to include more in the future (e.g. role based access).

Fixes gohugoio#5704

bep added a commit to bep/hugo that referenced this issue Mar 31, 2019

hugolib: Allow relative URLs in front matter
Before this commit you would have to do this in multilingual setups:

```
---
title: "Custom!"
url: "/jp/custom/foo"
---
```

This commit allows for relative URLs, e.g:

```
---
title: "Custom!"
url: "custom/foo"
---
```

Which is obviously easier and more portable.

The meaning of relative may change to include more in the future (e.g. role based access).

Fixes gohugoio#5704

bep added a commit to bep/hugo that referenced this issue Mar 31, 2019

hugolib: Allow relative URLs in front matter
Before this commit you would have to do this in multilingual setups:

```
---
title: "Custom!"
url: "/jp/custom/foo"
---
```

This commit allows for relative URLs, e.g:

```
---
title: "Custom!"
url: "custom/foo"
---
```

Which is obviously easier and more portable.

The meaning of relative may change to include more in the future (e.g. role based access).

Fixes gohugoio#5704

bep added a commit to bep/hugo that referenced this issue Mar 31, 2019

hugolib: Allow relative URLs in front matter
Before this commit you would have to do this in multilingual setups:

```
---
title: "Custom!"
url: "/jp/custom/foo"
---
```

This commit allows for relative URLs, e.g:

```
---
title: "Custom!"
url: "custom/foo"
---
```

Which is obviously easier and more portable.

The meaning of relative may change to include more in the future (e.g. role based access).

Fixes gohugoio#5704

@bep bep closed this in #5805 Apr 2, 2019

bep added a commit that referenced this issue Apr 2, 2019

hugolib: Allow relative URLs in front matter
Before this commit you would have to do this in multilingual setups:

```
---
title: "Custom!"
url: "/jp/custom/foo"
---
```

This commit allows for relative URLs, e.g:

```
---
title: "Custom!"
url: "custom/foo"
---
```

Which is obviously easier and more portable.

The meaning of relative may change to include more in the future (e.g. role based access).

Fixes #5704

nguyenvanduocit added a commit to 12bitvn/hugo that referenced this issue Apr 5, 2019

hugolib: Allow relative URLs in front matter
Before this commit you would have to do this in multilingual setups:

```
---
title: "Custom!"
url: "/jp/custom/foo"
---
```

This commit allows for relative URLs, e.g:

```
---
title: "Custom!"
url: "custom/foo"
---
```

Which is obviously easier and more portable.

The meaning of relative may change to include more in the future (e.g. role based access).

Fixes gohugoio#5704
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.