frontendbr / forum

:beer: Portando discussões feitas em grupos (Facebook, Google Groups, Slack, Disqus) para o GitHub Discussions
MIT License
4.26k stars 233 forks source link

Redirect no GH Pages #167

Closed felipefialho closed 5 years ago

felipefialho commented 8 years ago

Fala pessoal.

Resolvi usar o Harp para desenvolver meu novo site e estou razoavelmente avançado.

Porém, atualmente uso uma estrutura de /blog/ano/post e para adaptar o Harp vai ser um pouco trabalhoso. Sendo assim agora vou mudar para /blog/post.

Até ai nenhum problema, mas... estou utilizando o GH Pages como servidor, e não consigo encontrar nada que me ajude a fazer redirect dos links antigos. Sem o redirect vai ser foda, já que tem um monte de post meu compartilhado por ai.

Alguém consegue me dar um help?

woliveiras commented 8 years ago

Para o Jekyll tem um plugin utilizando esses métodos da API: https://developer.github.com/v3/#http-redirects.

Esse plugin: https://help.github.com/articles/redirects-on-github-pages/

Pro Harp só achei essa informação aqui mano:

http://harpjs.com/recipes/client-side-redirect

felipefialho commented 8 years ago

Eu tinha visto essa informação, não sei se funciona como esperado, mas posso tentar :disappointed: .

Que coisa...

bernardodiasc commented 8 years ago

Mas é possível usar o formato /blog/ano/post com o Harp? Pelo que entendi parece ser.

felipefialho commented 8 years ago

@bernardodiasc Eu li bastante ontem e não consegui entender qual a lógica para fazer isso.

Em tese o for vai trazer só os posts dentro na pasta /blog e não em sub pastas.

bernardodiasc commented 8 years ago

Então @LFeh, não cheguei a usar o Harp, mas lendo como funciona aqui http://harpjs.com/recipes/blog-posts-list, me parece que o que se aplica à pasta /posts pode se aplicar a qualquer estrutura de diretórios que voce preferir.

We’re using the for iterator to run through the data we put in /public/posts/_data.json. We can access that posts data object via public.posts._data.

Se entendi direito, isso pode funcionar com um diretorio diferente de /posts, vc vai só precisar mapear dentro do _data.json. Mas realmente não sei se isso funciona, teria que fazer um teste.

felipefialho commented 8 years ago

Valeu @bernardodiasc, foi mais simples do que pensei:

No json:

{
  "hello-markdown": {
    "path":"2016/hello-markdown",
    "date": "05/20/2016",
    "title": "Markdown Post",
    "description": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Id aliquam ea architecto beatae nam, rerum quidem tempora molestiae necessitatibus est distinctio ab, ad quo laborum, porro. Repudiandae aspernatur autem quis."
  }
}

No each:

each post, slug in public.blog._data

      a.blog-post(href='/blog/#{ post.path }/' title='View the post')

        h1.title #{ post.title }
        p #{ post.description }
bernardodiasc commented 8 years ago

Massa! 👍