Pregunta Enlace relativo GitHub en el archivo Markdown


¿Hay alguna manera de crear un anclaje de URL? <a>, enlace desde dentro de un archivo Markdown, a otro archivo dentro del mismo repositorio y rama (también conocido como un enlace relativo a la rama actual)?

Por ejemplo, en la rama principal tengo un archivo README.md, que me gustaría hacer algo como:

# My Project
is really really cool. My Project has a subdir named myLib, see below.

## myLib documentation
see documentation [here](myLib/README.md)

Esto me permitiría vincularme de una .md a otra dentro de la misma rama y no tener que preocuparme sobre en qué rama estoy (evite tener que hacer una URL absoluta que incluya el nombre de la rama github.com).

Aquí hay un ejemplo práctico de lo que quiero decir:

  1. IR http://github.com/rynop/testRel, el enlace no funciona.
  2. IR http://github.com/rynop/testRel/blob/master/README.md, el enlace funciona

Esto es esperado porque en este punto la URL inicial está en la rama. ¿Cómo puedo obtener la rama actual en el archivo README.md en la raíz del repositorio?

Actualizar: Abrí un problema contra GitHub para esta solicitud de función.


541
2017-10-04 20:12


origen


Respuestas:


Actualizar 30 de enero de 2013, 16 meses después:

Publicación de blog de GitHub Enlaces relativos en archivos de marcado:

Empezando hoy, GitHub admite enlaces relativos en archivos de marcado.
  Ahora puede vincular directamente entre diferentes archivos de documentación, ya sea que vea la documentación en el propio GitHub, o localmente, usando un procesador de marcas diferente.

¿Desea ejemplos de definiciones de enlaces y cómo funcionan? Aquí hay un poco de Markdown para ti.
  En lugar de un enlace absoluto:

[a link](https://github.com/user/repo/blob/branch/other_file.md)

... puedes usar un enlace relativo:

[a relative link](other_file.md)

y nos aseguraremos de que se vincule a user/repo/blob/branch/other_file.md.

Si estuviera usando una solución como [a workaround link](repo/blob/master/other_file.md), deberá actualizar su documentación para usar la nueva sintaxis.

Esto también significa su documentación ahora puede mantenerse por sí sola, sin señalar siempre a GitHub.


Actualización 20 de diciembre de 2011:

los Problema de marcado de GitHub 84 Actualmente está cerrado por technoweenie, con el comentario:

Intentamos agregar un <base> etiqueta para esto, pero causa problemas con otros enlaces relativos en el sitio.


12 de octubre de 2011:

Si miras el fuente cruda de la README.md de Markdown en sí mismo (!), las rutas relativas no parecen ser compatibles.
Encontrarás referencias como:

[r2h]: http://github.com/github/markup/tree/master/lib/github/commands/rest2html
[r2hc]: http://github.com/github/markup/tree/master/lib/github/markups.rb#L13

641
2017-10-05 08:39



Por ejemplo, tiene un repositorio como el siguiente:

project/
    text.md
    subpro/
       subtext.md
       subsubpro/
           subsubtext.md
       subsubpro2/
           subsubtext2.md

El enlace relativo a subtext.md en text.md podría verse así:

[this subtext](subpro/subtext.md)

El enlace relativo a subsubtext.md en text.md podría verse así:

[this subsubtext](subpro/subsubpro/subsubtext.md)

El enlace relativo a subtext.md en subsubtext.md podría verse así:

[this subtext](../subtext.md)

El enlace relativo a subsubtext2.md en subsubtext.md podría verse así:

[this subsubtext2](../subsubpro2/subsubtext2.md)

El enlace relativo a text.md en subsubtext.md podría verse así:

[this text](../../text.md)

31
2018-03-27 09:38



GitHub podría hacer que esto sea mucho mejor con un trabajo mínimo. Aquí hay una solución alternativa.

Creo que quieres algo más como

[Your Title](your-project-name/tree/master/your-subfolder)

o para apuntar al LÉAME mismo

[README](your-project-name/blob/master/your-subfolder/README.md)

Buena suerte


8
2017-08-31 16:16



A partir del 31 de enero de 2013 Github rebaja admite enlaces relativos a archivos.

[a relative link](markdown_file.md)

Sin embargo, hay algunas deficiencias que han sido discutido en este hilo de comentarios.

Como alternativa, puedes usar Gitdown para construir URL completos para el repositorioe incluso hacer que conozcan las sucursales, p.

{"gitdown": "gitinfo", "name": "url"} // https://github.com/gajus/gitdown
{"gitdown": "gitinfo", "name": "branch"} // master

Gitdown es un preprocesador de reducción de GitHub. Agiliza las tareas comunes asociadas con el mantenimiento de una página de documentación para un repositorio de GitHub, p. generando tabla de contenidos, incluyendo variables, generando URLs y obteniendo información sobre el repositorio en el momento de procesar la entrada. Gitdown se integra perfectamente con tus scripts de construcción.

Soy el autor de la biblioteca de Gitdown.


8
2017-11-22 17:27



Puede usar URL relativas de la raíz de su repositorio con <a href="">. Suponiendo que su informe se llame testRel, ponga lo siguiente en testRel/README.md:

# My Project
is really really cool. My Project has a subdir named myLib, see below.

## myLib docs
see documentation:
    * <a href="testRel/myLib">myLib/</a>
    * <a href="testRel/myLib/README.md">myLib/README.md</a>

4
2017-08-16 18:37



Esta pregunta es bastante antigua, pero aún parece importante, ya que no es fácil poner referencias relativas de readme.md en páginas wiki en Github.

Jugué un poco y este vínculo relativo parece funcionar bastante bien:

[Your wiki page](../../wiki/your-wiki-page)

Los dos ../ removerá /blob/master/ y usa tu base como punto de partida. Aunque no he probado esto en otros repositorios aparte de Github (puede haber problemas de compatibilidad).


3
2018-02-17 19:38



No estoy seguro de si veo esta opción aquí. Puedes simplemente crear un /folder en su repositorio y utilícelo directamente:

[a relative link](/folder/myrelativefile.md)

No se necesita ningún nombre de blob o árbol o repositorio, y funciona como un amuleto.


2
2017-10-22 04:01