From Fedora Project Wiki

Esta página describe cómo corregir un error o enviar otros cambios al sitio web del Proyecto Fedora. Cualquiera puede realizar estos pasos, y no necesita un permiso especial para enviar un parche a la lista de websites para su consideración.

Haciendo cambios

Nunca use la cuenta de root para esto
No use la cuenta raíz de su sistema para este trabajo. Todos estos pasos pueden ser ejecutados por un usuario normal. Solo necesita proporcionar la contraseña de root para instalar los paquetes en el primer paso.

Este procedimiento le muestra cómo copiar el repositorio de sitios web de fedora localmente y utilizar su almacenamiento local para realizar cambios.

  1. Asegúrate de que tienes el paquete git y el servidor web Apache instalado:
    su -c 'dnf install git gettext python-genshi python-lxml python-setuptools python-dateutil python-dogpile-cache babel python-feedparser fedfind python-requests'
    su -c 'dnf groups install "Web Server"'
  2. Configure al menos su nombre y dirección de correo electrónico en su configuración global de git, como se muestra en esta sección de la referencia rápida de git.
  3. Asegúrese de estar en un directorio al que tenga acceso de escritura, como su directorio de inicio o un subdirectorio, y clone el repositorio de sitios web.
    cd $HOME
    git clone https://pagure.io/fedora-websites.git
  4. repositorio fedorahosted ha sido archivado
    Nuestro antiguo repositorio en fedorahosted.org ha sido archivado pero todavía está disponible para su consulta. ¡Al enviar cambios a este repositorio no lo hará en los sitios web!
  5. Muévase al directorio del sitio web que desea cambiar. El repositorio incluye varios sitios, incluidos fedoraproject.org, spins.fedoraproject.org y otros.
    cd fedora-websites/getfedora.org
  6. Puede hacer una nueva rama para sus cambios, o puede hacer su trabajo contra una rama existente del proyecto de fedora-websites. Para hacer una nueva rama solo para su propio uso ("mychanges" es un nombre que puede elegir):
    git checkout -b mychanges

    Si desea trabajar en algo que ya existe como una rama en sitios web, por ejemplo la rama de rediseño, puede configurar su rama para rastrear los cambios en esa rama. Eso le permite desarrollar el trabajo existente sin preocuparse de si está sobrescribiendo el trabajo del equipo existente. Por ejemplo, si desea ayudar con la rama fpo-rediseño:

    git checkout -b mychanges --track origin/fpo-redesign
  7. Realiza tus cambios. Es mejor hacer juntos un conjunto de cambios relacionados, pero no hacer muchos cambios no relacionados al mismo tiempo. Por ejemplo, está bien hacer varias correcciones de ortografía juntas, pero no las combine con una opción de menú de navegación adicional.
  8. Pon a prueba tus cambios.
    make

    Una vez que make se complete con éxito, el sitio web ahora estará disponible en su directorio de salida. Ahora ejecute una prueba en el sandbox local del sitio web:

    make test
  9. Apunte su navegador web a http://localhost:5000 para ver el sitio del sandbox. Cuando haya terminado de ver, detenga el servidor web temporal:
    make stoptest
  10. Si todo parece estar bien, adiciona los archivos que has cambiado:
    git add data/content/file1.html data/content/file2.html
  11. Sube los archivos modificados:
    git commit -m 'Fix spelling errors'

Mostrando sus cambios

Puede copiar el contenido de la carpeta /out/ en un recurso compartido web, si tiene uno, para verlo. Su espacio fedorapeople.org lo proporciona en la carpeta ~/public_html/.

USUARIOS AVANZADOS: También puede copiar su árbol git a su sitio de almacenamiento fedorapeople.org, que nos permite acceder fácilmente a ellos. Si no tiene una cuenta de fedorapeople.org, deberá publicar sus cambios en algún lugar y dejar que sabemos.

Las instrucciones para usar el espacio de fedorapeople.org se encuentran en fedorapeople.org .

Enviando tus cambios

Puede solicitar un pull request o enviar un parche. La solicitud de pull request es muy preferida.

Solicitar Pull Requests

Este es el mejor método si desea contribuir al equipo de sitios web si aún no es miembro del equipo.

  1. Inicie sesión en pagure.io y luego bifurque el repositorio git de fedora-websites.
  2. Una vez que haya bifurcado el repositorio de git, deberá configurar el remote upstream git clone de su bifurcación para rastrear el repositorio de sitios web oficiales. Si bien no es obligatorio, es convencional llamar al remote upstream con el nombre upstream que se puede hacer con el siguiente comando mientras se encuentra dentro del directorio de su clon git local de su fork.
    git remote add upstream https://pagure.io/fedora-websites.git
  3. Actualiza tu fork
  4. Haga pull al upstream y merge a la rama local para asegurarse de que su rama maestra esté en línea con los cambios más recientes del upstream. Luego hacer push a tu clon para que el origen sepa sobre los cambios.
    git pull --rebase upstream master
    git push origin master
  5. Hacer revisión a su rama de desarrollo
  6. Ahora puede realizar revisión a su rama de desarrollo y enviarlo a su repositorio remoto en pagure:
    git push origin mychanges
  7. Solicitar un pull request
  8. Ahora puedes solicitar un pull request en https://pagure.io/fedora-websites/pull-requests

Enviar un parche

Esto es menos preferible que solicitar un pull request, pero si por alguna razón no puede hacer una PR, aún puede obtener su corrección.

  1. Crea archivos de parches para tus cambios:
    git format-patch origin/master
  2. Ahora puede enviar los parches que ha creado, que tendrán nombres como 0001-my-change.patch, como un enlace a un recurso externo como fedorapeople.org a la lista de websites. No adjunte archivos al ML, de lo contrario puede presentar un ticket y agregar el parche allí.

Haciendo el texto traducible

El texto destinado a un lector humano se debe convertir en cadenas traducibles. El texto a traducir debe estar rodeado por uno de los siguientes:

  • Si la cadena contiene otro marcado HTML, como caracteres especiales (como < > en el marcado HTML), rodee la cadena de esta manera:
    ${Markup(_('str'))}
  • Si no hay tales marcas especiales o caracteres, rodee la cadena de esta manera:
    ${_('str')}

En algunos casos, es posible que desee que un fragmento de texto se pueda cambiar sin molestar al resto de la traducción. Este suele ser el caso con cantidades que pueden cambiar de una versión a otra, como el tamaño de un archivo. Este es un ejemplo del uso de la sustitución con nombre para lograr este objetivo:

${_('%(size)s, DVD ISO disc image for %(arch)s-bit PC') % {'size':'3.1 GB', 'arch':'32'}}

Muchos editores resaltarán automáticamente esta sintaxis. Otros como vim se pueden personalizar para hacerlo. Para agregar una sintaxis de color específica de vim, ejecute lo siguiente:

vi ~/.vim/after/syntax/html.vim

Luego, inserte el siguiente código en este nuevo archivo.

" highlight Comment ctermfg=Green guifg=Green
  sy  match  htmlComment    /${_(["'].*["'])}/
  sy  match  htmlComment    /${Markup(_(["'].*["']))}/   

" error highlighted
  sy match htmlComment  /${_([0-9A-Za-z%].*')}/ contains=htmlCommentError
  sy match htmlComment  /${Markup((.*[)]{,1}}/  contains=htmlCommentError

Este código es un ejemplo, y algo incompleto: siéntase libre de mejorarlo y editar esta página. Para cada archivo HTML, vim anulará el color predeterminado con el color de comentario de las cadenas correctas y resaltará las cadenas que tienen errores.

Preguntas frecuentes

¿Cómo evito cambiar cadenas cuando hago commit/push?

Después de crear los cambios en un archivo HTML y ejecutar make, los archivos POT y PO se actualizan automáticamente. Si está trabajando durante un tiempo en el que se supone que las cadenas deben estar congeladas para los traductores, es posible que no desee eliminar estos cambios de cadena. Aquí es cómo evitar ese problema:

  • Use git add <filename> y git commit -m 'commit message para confirmar sus cambios de HTML. Recuerda hacer estos cambios significativos. No utilice git add. si has hecho muchos cambios no relacionados; es un mal habito.
  • Repita el paso anterior tantas veces como sea necesario para confirmar todos los cambios.
  • Ejecuta git stash para esconder los otros cambios que has hecho.
  • (¿Opcional / Recomendado?) Ejecute git pull --rebase para asegurarse de que tiene los últimos cambios desde el upstream y que sus cambios no causen conflictos extraños.
  • Ejecute git push origin <nombre-rama> para eliminar los cambios de HTML.
  • Ejecute git stash pop para devolver sus otros cambios al árbol de trabajo, y apague la pila de cache.

¿Cómo promuevo mis cambios una vez que me convierto en miembro del equipo de sitios web?

Si le ha gustado la corrección de errores y está contribuyendo de manera regular, querrá actualizar su configuración de git para enviar directamente al repositorio de git. Para hacerlo, ejecute git remote set-url origin ssh://git@pagure.io/fedora-websites.git en su repositorio local de sitios web de fedora. En este punto, también debería leer más sobre nuestro flujo de trabajo.

Información Adicional

La referencia rápida de git puede ser útil para usted, más allá de simplemente configurar su configuración global.

El Libro de la Comunidad de Git es una excelente referencia si encuentra que Git es útil y desea aprender más sobre él.

No tiene que ser miembro del equipo de Websites para ayudar a arreglar las cosas en el sitio, pero si se encuentra haciéndolo más de una vez, ¡puede unirse a nosotros!