https://es.prolewiki.org/api.php?action=feedcontributions&user=Miguel&feedformat=atomProleWiki - Contribuciones del usuario [es]2024-03-28T10:11:47ZContribuciones del usuarioMediaWiki 1.41.0https://es.prolewiki.org/index.php?title=Partido_Comunista_de_Cuba&diff=6097Partido Comunista de Cuba2024-03-08T05:38:26Z<p>Miguel: Agregar definición del PCC.</p>
<hr />
<div>{{Infobox partido político<br />
| name = Partido Comunista de Cuba<br />
| logo = [[File:Logo del Partido Comunista de Cuba.svg|frameless|175px]]<br />
| colorcode = red<br />
| founder = [[Fidel Castro]]<br />
| leader1_title = Primer Secretario<br />
| leader1_name = [[Miguel Díaz-Canel]]<br />
| foundation = 3 de Octubre de 1965<br />
| sede = [[Palacio de la Revolución]], Edificio del [[Comité Central]], [[La Habana]], [[Cuba]]<br />
| newspaper = ''[[Granma (newspaper)|Granma]]''<br />
| political_orientation = [[Marxismo-Leninismo]]<br />
| website = [http://www.pcc.cu/ www.pcc.cu]<br />
| international = [[Encuentro Internacional de Partidos Comunistas y Obreros]]<br />
| regional = [[Foro de São Paulo]] <br> [[Conferencia Permanente de Partidos Políticos de América Latina]]<br />
| youth_wing = Unión de Jóvenes Comunistas<br />
| country = [[Cuba]]<br />
}}<br />
{{Partidos comunistas}}<br />
El '''Partido Comunista de Cuba''' ('''PCC''') es un [[partido político]] [[marxista-leninista]] [[Cubanos|cubano]], fundado en 1965 por [[Fidel Castro]] con sus antecedentes en el Primer Partido Comunista de Cuba creado en 1925 por [[Julio Antonio Mella]] y [[Carlos Baliño]]. Este partido se encuentra en el poder desde la llegada de la [[Revolución Cubana]]. <br />
<br />
Es la guía de la [[Revolución Cubana]] y continuador de las tradiciones revolucionarias de los cubanos, contra el [[colonialismo]] español y el [[neocolonialismo]] [[Imperialismo|imperialista]] de los [[Estados Unidos]], y heredero del [[Partido Revolucionario Cubano]], que fundó [[José Martí]] en 1892 para luchar por la independencia de Cuba ante [[España]].<br />
<br />
La [[Constitución de la República de Cuba]], aprobada en referéndum popular, el 10 de abril de 2019 lo define como:<br />
<blockquote><br />
"Único, martiano, fidelista y marxista-leninista, vanguardia organizada de la nación cubana, sustentado en su carácter democrático y la permanente vinculación con el pueblo, es la fuerza política dirigente superior de la sociedad y del Estado."<br />
</blockquote><br />
<br />
=== Simbología ===<br />
Utiliza la [[Bandera de Cuba|bandera nacional]] como su emblema y su logotipo dentro de un rectángulo de ángulos ovalados en línea de color rojo, presenta dos banderas que sobresalen de entre los brazos y armas en alto empuñados por personas, representados en color negro: una es la bandera roja, símbolo del proletariado y del carácter revolucionario del Partido, y la bandera cubana, símbolo de la patria. Además sobre el color negro, se incrusta las siglas PCC (Partido Comunista de Cuba), en color rojo contorneado en blanco.<br />
<br />
== Historia ==<br />
El Partido Comunista Cubano es fundado en 1925 por [[Julio Antonio Mella]], [[Carlos Baliño]], [[José Miguel Pérez Pérez|José Miguel Pérez]] y [[Alfonso Bernal del Riesgo]], el primer joven dirigente estudiantil. También participaron exiliados venezolanos como [[Pío Tamayo]] y [[Gustavo Machado]]. Su primer secretario general fue [[José Miguel Pérez Pérez|José Miguel Pérez]], quien años después también fundara el Partido Comunista de Canarias. El PCC permanecerá en la clandestinidad hasta 1938; en 1939 toma el nombre de Unión Revolucionaria Comunista y en 1944 el de [[Partido Socialista Popular (Cuba)|Partido Socialista Popular]] (PSP). Ligado a la [[Confederación de Trabajadores de Cuba]]. La dirigencia [[estalinismo|estalinista]] del PSP apoya la candidatura presidencial de [[Fulgencio Batista]] para el período 1940-1944, y dos de sus dirigentes más notorios, [[Juan Marinello Vidaurreta|Juan Marinello]] y [[Carlos Rafael Rodríguez]], son ministros del gabinete.<ref>"''Hoy''", órgano oficial del PSP, 13 de julio de 1940</ref><br />
<br />
En 1953, el PSP es ilegalizado por la dictadura de Fulgencio Batista, aunque su prensa continúa circulando libremente. En ese mismo año, el PSP condena como "''actividades golpistas y aventureras de la oposición burguesa''"<ref>Declaraciones del PSP publicadas en "''The Daily Worker''", órgano del Partido Comunista de los Estados Unidos, el 10 de agosto de 1953</ref> el asalto al [[cuartel Moncada]] realizado por [[Fidel Castro]] y sus seguidores. Como parte de la oposición a la dictadura de Batista desde mediados de 1958, mostrará una actitud ambigua hacia el [[Movimiento 26 de Julio]] hasta diciembre de 1958, cuando el [[Che Guevara]] se entrevista con los principales dirigentes del partido. En 1961 el PSP se fusiona con el Movimiento 26 de Julio y otras organizaciones para formar las [[Organizaciones Revolucionarias Integradas]] (ORI).<br />
<br />
El PCC de [[Fidel Castro]] se origina a partir de este momento, con la formación de las ORI, las cuales serán depuradas "de los errores del sectarismo" cometidos por algunos dirigentes y, el 26 de marzo de 1962, son unificadas como [[Partido Unido de la Revolución Socialista de Cuba]] (PURSC), constituyéndose finalmente el 3 de octubre de 1965, como Partido Comunista de Cuba (PCC).<br />
<br />
Desde la [[Proceso Escalante|depuración de las ORI]], el PCC sólo reconoce como su líder a Fidel Castro. El acceso a las filas del PCC se realiza sobre la base de los principios de patriotismo, antiimperialismo, y fidelidad al socialismo y el comunismo como vía de alcanzar la igualdad plena de la sociedad. La edad mínima es a los 30 años, pero en casos excepcionales, y por méritos, pueden ser parte de su filas jóvenes menores de 30 años que sean además militantes de la [[Unión de Jóvenes Comunistas]].<br />
<br />
El 4 de octubre de 1965, sale a circulación el primer número de ''[[Granma (periódico)|Granma]]'', que es órgano oficial del Comité Central del PCC. En los últimos 40 años, el PCC ha demostrado un alto nivel de unidad, el primer y último conflicto interno del partido en su historia, el llamado. el [[caso de la microfracción]] ocurrido entre 1966 y 1968, un grupo de "fraccionalistas" ( [[Aníbal Escalante]], [[Ricardo Beaufil]] y un total de más de 40 personas) fueron condenado a prisión. El primer secretario del Comité Central del PCCh durante unos 50 años fue [[Fidel Castro]], luego 15 años [[Raúl Castro]] y desde 2021 [[Miguel Díaz-Canel]].<br />
<br />
== Organización del PCC ==<br />
[[Archivo:Comité Central PCC.jpg|thumb|Palacio de la Revolución en [[La Habana]]]], sede del Comité Central del Partido Comunista de Cuba.]]<br />
=== Congresos ===<br />
Según sus estatutos, el Congreso es el organismo supremo del Partido. Define y da las orientaciones políticas del PCC y de su actividad en general. Se reúne regularmente cada 5 años y cuando el Pleno del Comité Central lo convoque extraordinariamente. Elige el Comité Central, aprueba el programa o lineamientos programáticos y los Estatutos del Partido. El primer Congreso, convocado 10 años después de la fundación del PCC, se realizó en 1975 en [[La Habana]]. Desde entonces, se realizaron el II Congreso en 1980, el III Congreso en 1985, el IV Congreso en 1991 se realizó en [[Santiago de Cuba]] y el V Congreso en 1997 en La Habana.<br />
<br />
El VI Congreso, después de catorce años, varias tentativas y tras un largo proceso de preparación, fue celebrado del 16 al 19 de abril de 2011. Su agenda central fue la aprobación de los Lineamientos de la Política Económica y Social, documento contentivo de una reforma económica definida como la adaptación del socialismo a los nuevos tiempos. Este Congreso es histórico por haber supuesto el cese de [[Fidel Castro]] como primer secretario y autodefinirse como el último congreso de la generación impulsora de la Revolución.<ref>{{Citación web|autor=Carmelo Mesa-Lago|url=http://elpais.com/diario/2011/05/26/opinion/1306360811_850215.html|titulo=El Congreso del PCC y la economía cubana|pagina-web=El País|fecha=20 de mayo de 2011}}</ref><br />
<br />
El VII Congreso se celebró entre el 16 y el 19 de abril de 2016. En este encuentro se aprobó la actualización de los Lineamientos de la Política Económica y Social, así como la Conceptualización del Modelo Socialista y el Plan Estratégico de Desarrollo hasta 2030. Resultaron reelegidos [[Raúl Castro]] y [[José Ramón Machado Ventura]] al frente de la organización.<br />
<br />
El VIII Congreso del PCC se celebró entre el 16 y el 19 de abril de 2021.<br />
<br />
=== Conferencia Nacional ===<br />
La Conferencia Nacional que se reúne entre los congresos, debe ser convocada por el propio Congreso o por el Comité Central para tratar asuntos estratégicos del Partido y elegir al propio Comité Central y los demás órganos de dirección. Se ha celebrado una sola vez en enero de 2012.<br />
<br />
=== Comité Central ===<br />
{{AP|Miembros del Comité Central del Partido Comunista de Cuba}}<br />
El Comité Central, constituido por primera vez en 1965, está definido como el organismo superior del Partido entre cada Congreso. Decide el número de integrantes del Buró Político y del Secretariado, elige a sus miembros y, entre ellos, al Primer y al Segundo Secretario. Está encargado de aplicar las resoluciones, políticas y programas aprobadas por el Congreso. Se reúne en Pleno por lo menos dos veces al año y cuando lo convoque el Buró Político.<br />
<br />
=== Buró Político ===<br />
El Buró Político es el órgano de dirección superior del PCC y la máxima instancia ideológica del país. Ejecuta las resoluciones de los congresos y el Comité Central. Está integrado en este momento por el Primer y Segundo Secretarios y 13 miembros más. Tiene iniciativa legislativa y propone al Consejo de Estado las acciones políticas que deben ejecutar en materia de disposiciones legales y nombramientos.<br />
<br />
En el VI Congreso, celebrado en abril de 2011, fue elegido después de 14 años un nuevo Buró Político de 15 miembros, encabezado por [[Raúl Castro Ruz]] y [[José Ramón Machado Ventura]] como primer y segundo secretarios. En septiembre de 2011, falleció el general [[Julio Casas Regueiro]], miembro de ese órgano. En diciembre de 2012, fue promovido el canciller [[Bruno Rodríguez Parrilla]]. En julio de 2013, fue aceptada la renuncia del veterano político [[Ricardo Alarcón de Quesada]] y, en octubre de 2015, el general [[Abelardo Colomé Ibarra]] solicitó su renuncia por problemas de salud.<br />
<br />
=== Secretariado ===<br />
El '''Secretariado '''del Comité Central del Partido es el órgano que auxilia al Buró Pólítico en el trabajo con sus cuadros y militantes. Existió de 1965 a 1991 (sus funciones fueron asumidas por el Buró Político ampliado el número de sus integrantes) y fue restablecido en 2006. Sus integrantes son los máximos responsables de las Comisiones Permanentes del Comité Central (entidades creadas en 2008 y que agrupan a los departamentos del Comité Central). Los dirigentes del Secretariado y de los departamentos constituyen un aparato político paralelo al Gobierno de la nación, interviniendo en el desarrollo y control de las políticas de los organismos de la administración central del Estado y de los gobiernos provinciales y municipales.<br />
<br />
El Secretariado está presidido por el Primer Secretario del Comité Central. El VI Congreso del PCC, celebrado en abril de 2011, se decidió que [[José Ramón Machado Ventura]], Segundo Secretario, presidiera este órgano por delegación permanente del Primer Secretario [[Raúl Castro Ruz]], hecho que ocurrió por primera vez en la historia del PCC. El VIII Congreso nombró Primer Secretario del PCC al [[Presidente de la República]] [[Miguel Díaz-Canel]] en 2021.<br />
<br />
=== Departamentos y otras estructuras auxiliares ===<br />
{{AP|Miembros del Comité Central del Partido Comunista de Cuba}}<br />
Para su funcionamiento interno el Comité Central se organiza en departamentos, cuyo trabajo subordina al Secretariado del Comité Central. También existen otras estructuras subordinadas al Comité Central como la Oficina de Asuntos Religiosos, la Escuela Superior del Partido o el Periódico Granma. Sus máximas autoridades pueden ser miembros del Comité Central o simples militantes del Partido a quienes se les designe para estas funciones administrativas.<br />
<br />
=== Organización territorial ===<br />
Los militantes y estructuras del PCC tienen su organización territorial de conformidad con la organización político-administrativa del país. En las provincias su máximo órgano es el Comité Provincial, dirigido por el Buró Provincial. En los municipios lo es el Comité Municipal. Las máximas autoridades lo son también los Primeros Secretarios.</div>Miguelhttps://es.prolewiki.org/index.php?title=Tema:Y0kz5pjdo7ma29er&topic_postId=y0l2j1bkidrumeqr&topic_revId=y0l2j1bkidrumeqr&action=single-viewTema:Y0kz5pjdo7ma29er2024-03-08T05:07:55Z<span class="plainlinks"><a href="/wiki/Camarada:Miguel" class="mw-userlink" title="Camarada:Miguel"><bdi>Miguel</bdi></a> <span class="mw-usertoollinks">(<a href="/wiki/Camarader%C3%ADa:Miguel" class="mw-usertoollinks-talk" title="Camaradería:Miguel">discusión</a> | <a href="/wiki/Especial:Contribuciones/Miguel" class="mw-usertoollinks-contribs" title="Especial:Contribuciones/Miguel">contribs.</a>)</span> <a rel="nofollow" class="external text" href="https://es.prolewiki.org/index.php?title=Tema:Y0kz5pjdo7ma29er&topic_showPostId=y0l2j1bkidrumeqr#flow-post-y0l2j1bkidrumeqr">comentó</a> en «¿Incluimos la parte en inglés?» (<em>Wow, usted es una maquina!! Gracias por tomarse el tiempo.</em>)</span>Miguelhttps://es.prolewiki.org/index.php?title=Tema:Y0kz5pjdo7ma29er&topic_postId=y0kz5pjdobkcadcz&topic_revId=y0kz5pjdobkcadcz&action=single-viewTema:Y0kz5pjdo7ma29er2024-03-08T04:07:24Z<span class="plainlinks"><a href="/wiki/Camarada:Miguel" class="mw-userlink" title="Camarada:Miguel"><bdi>Miguel</bdi></a> <span class="mw-usertoollinks">(<a href="/wiki/Camarader%C3%ADa:Miguel" class="mw-usertoollinks-talk" title="Camaradería:Miguel">discusión</a> | <a href="/wiki/Especial:Contribuciones/Miguel" class="mw-usertoollinks-contribs" title="Especial:Contribuciones/Miguel">contribs.</a>)</span> <a rel="nofollow" class="external text" href="https://es.prolewiki.org/index.php?title=Tema:Y0kz5pjdo7ma29er&topic_showPostId=y0kz5pjdobkcadcz#flow-post-y0kz5pjdobkcadcz">comentó</a> en «¿Incluimos la parte en inglés?» (<em>Hola cro. Como esta obra (la primera conocida del querido comandante) original esta en inglés, no sabré si incluirla en la parte inferior.…</em>)</span>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Citas/Configuraci%C3%B3n&diff=5963Módulo:Citas/Configuración2024-03-05T15:29:20Z<p>Miguel: Add ProleWiki namespaces</p>
<hr />
<div>citation_config = {};<br />
<br />
--[[<br />
List of namespaces that should not be included in citation<br />
error categories. Same as setting notracking = true by default<br />
<br />
Note: Namespace names should use underscores instead of spaces.de<br />
<br />
citation_config.uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk',<br />
'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk', <br />
'Module_talk', 'MediaWiki_talk' };<br />
]]<br />
citation_config.uncategorized_namespaces = { 'Usuario', 'Usuaria', 'Discusión', 'Usuario_discusión', 'Usuario_Discusión','Usuaria_Discusión', 'Usuaria_discusión', 'Wikipedia_discusión', 'Archivo_discusión', <br />
'Plantilla_discusión', 'Ayuda_discusión', 'Categoría_discusión', 'Portal_Discusión', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk', <br />
'Módulo_discusión', 'MediaWiki_discusión', 'Wikipedia', 'Wikiproyecto', 'Wikiproyecto_discusión', <br />
-- ProleWiki[ES]<br />
'Camarada', 'ProleWiki'<br />
};<br />
<br />
--[[<br />
Translation table<br />
<br />
The following contains fixed text that may be output as part of a citation.<br />
This is separated from the main body to aid in future translations of this<br />
module.<br />
]]</div>Miguelhttps://es.prolewiki.org/index.php?title=Partido_Comunista_de_Cuba&diff=5921Partido Comunista de Cuba2024-03-04T00:18:03Z<p>Miguel: Creación de «Partido Comunista de Cuba»</p>
<hr />
<div>{{Infobox partido político<br />
| name = Partido Comunista de Cuba<br />
| logo = [[File:Logo del Partido Comunista de Cuba.svg|frameless|175px]]<br />
| colorcode = red<br />
| founder = [[Fidel Castro]]<br />
| leader1_title = Primer Secretario<br />
| leader1_name = [[Miguel Díaz-Canel]]<br />
| foundation = 3 de Octubre de 1965<br />
| sede = [[Palacio de la Revolución]], Edificio del [[Comité Central]], [[La Habana]], [[Cuba]]<br />
| newspaper = ''[[Granma (newspaper)|Granma]]''<br />
| political_orientation = [[Marxismo-Leninismo]]<br />
| website = [http://www.pcc.cu/ www.pcc.cu]<br />
| international = [[Encuentro Internacional de Partidos Comunistas y Obreros]]<br />
| regional = [[Foro de São Paulo]] <br> [[Conferencia Permanente de Partidos Políticos de América Latina]]<br />
| youth_wing = Unión de Jóvenes Comunistas<br />
| country = [[Cuba]]<br />
}}<br />
{{Partidos comunistas}}<br />
El '''Partido Comunista de Cuba''' ('''PCC''') es un [[partido político]] [[marxista-leninista]] [[Cubanos|cubano]], fundado en 1965 por [[Fidel Castro]] con sus antecedentes en el Primer Partido Comunista de Cuba creado en 1925 por [[Julio Antonio Mella]] y [[Carlos Baliño]]. Este partido se encuentra en el poder desde la llegada de la [[Revolución Cubana]]. <br />
<br />
Es la guía de la [[Revolución Cubana]] y continuador de las tradiciones revolucionarias de los cubanos, contra lo el [[colonialismo]] español y el [[neocolonialismo]] [[Imperialismo|imperialista]] de los [[Estados Unidos]], y heredero del [[Partido Revolucionario Cubano]], que fundó [[José Martí]] en 1892 para luchar por la independencia de Cuba ante [[España]].<br />
<br />
=== Simbología ===<br />
Utiliza la [[Bandera de Cuba|bandera nacional]] como su emblema y su logotipo dentro de un rectángulo de ángulos ovalados en línea de color rojo, presenta dos banderas que sobresalen de entre los brazos y armas en alto empuñados por personas, representados en color negro: una es la bandera roja, símbolo del proletariado y del carácter revolucionario del Partido, y la bandera cubana, símbolo de la patria. Además sobre el color negro, se incrusta las siglas PCC (Partido Comunista de Cuba), en color rojo contorneado en blanco.<br />
<br />
== Historia ==<br />
El Partido Comunista Cubano es fundado en 1925 por [[Julio Antonio Mella]], [[Carlos Baliño]], [[José Miguel Pérez Pérez|José Miguel Pérez]] y [[Alfonso Bernal del Riesgo]], el primer joven dirigente estudiantil. También participaron exiliados venezolanos como [[Pío Tamayo]] y [[Gustavo Machado]]. Su primer secretario general fue [[José Miguel Pérez Pérez|José Miguel Pérez]], quien años después también fundara el Partido Comunista de Canarias. El PCC permanecerá en la clandestinidad hasta 1938; en 1939 toma el nombre de Unión Revolucionaria Comunista y en 1944 el de [[Partido Socialista Popular (Cuba)|Partido Socialista Popular]] (PSP). Ligado a la [[Confederación de Trabajadores de Cuba]]. La dirigencia [[estalinismo|estalinista]] del PSP apoya la candidatura presidencial de [[Fulgencio Batista]] para el período 1940-1944, y dos de sus dirigentes más notorios, [[Juan Marinello Vidaurreta|Juan Marinello]] y [[Carlos Rafael Rodríguez]], son ministros del gabinete.<ref>"''Hoy''", órgano oficial del PSP, 13 de julio de 1940</ref><br />
<br />
En 1953, el PSP es ilegalizado por la dictadura de Fulgencio Batista, aunque su prensa continúa circulando libremente. En ese mismo año, el PSP condena como "''actividades golpistas y aventureras de la oposición burguesa''"<ref>Declaraciones del PSP publicadas en "''The Daily Worker''", órgano del Partido Comunista de los Estados Unidos, el 10 de agosto de 1953</ref> el asalto al [[cuartel Moncada]] realizado por [[Fidel Castro]] y sus seguidores. Como parte de la oposición a la dictadura de Batista desde mediados de 1958, mostrará una actitud ambigua hacia el [[Movimiento 26 de Julio]] hasta diciembre de 1958, cuando el [[Che Guevara]] se entrevista con los principales dirigentes del partido. En 1961 el PSP se fusiona con el Movimiento 26 de Julio y otras organizaciones para formar las [[Organizaciones Revolucionarias Integradas]] (ORI).<br />
<br />
El PCC de [[Fidel Castro]] se origina a partir de este momento, con la formación de las ORI, las cuales serán depuradas "de los errores del sectarismo" cometidos por algunos dirigentes y, el 26 de marzo de 1962, son unificadas como [[Partido Unido de la Revolución Socialista de Cuba]] (PURSC), constituyéndose finalmente el 3 de octubre de 1965, como Partido Comunista de Cuba (PCC).<br />
<br />
Desde la [[Proceso Escalante|depuración de las ORI]], el PCC sólo reconoce como su líder a Fidel Castro. El acceso a las filas del PCC se realiza sobre la base de los principios de patriotismo, antiimperialismo, y fidelidad al socialismo y el comunismo como vía de alcanzar la igualdad plena de la sociedad. La edad mínima es a los 30 años, pero en casos excepcionales, y por méritos, pueden ser parte de su filas jóvenes menores de 30 años que sean además militantes de la [[Unión de Jóvenes Comunistas]].<br />
<br />
El 4 de octubre de 1965, sale a circulación el primer número de ''[[Granma (periódico)|Granma]]'', que es órgano oficial del Comité Central del PCC. En los últimos 40 años, el PCC ha demostrado un alto nivel de unidad, el primer y último conflicto interno del partido en su historia, el llamado. el [[caso de la microfracción]] ocurrido entre 1966 y 1968, un grupo de "fraccionalistas" ( [[Aníbal Escalante]], [[Ricardo Beaufil]] y un total de más de 40 personas) fueron condenado a prisión. El primer secretario del Comité Central del PCCh durante unos 50 años fue [[Fidel Castro]], luego 15 años [[Raúl Castro]] y desde 2021 [[Miguel Díaz-Canel]].<br />
<br />
== Organización del PCC ==<br />
[[Archivo:Comité Central PCC.jpg|thumb|Palacio de la Revolución en [[La Habana]], sede del Comité Central del Partido Comunista de Cuba.]]<br />
=== Congresos ===<br />
Según sus estatutos, el Congreso es el organismo supremo del Partido. Define y da las orientaciones políticas del PCC y de su actividad en general. Se reúne regularmente cada 5 años y cuando el Pleno del Comité Central lo convoque extraordinariamente. Elige el Comité Central, aprueba el programa o lineamientos programáticos y los Estatutos del Partido. El primer Congreso, convocado 10 años después de la fundación del PCC, se realizó en 1975 en [[La Habana]]. Desde entonces, se realizaron el II{{esd}}Congreso en 1980, el III{{esd}}Congreso en 1985, el IV{{esd}}Congreso en 1991 se realizó en [[Santiago de Cuba]] y el V{{esd}}Congreso en 1997 en La Habana.<br />
<br />
El VI{{esd}}Congreso, después de catorce años, varias tentativas y tras un largo proceso de preparación, fue celebrado del 16 al 19 de abril de 2011. Su agenda central fue la aprobación de los Lineamientos de la Política Económica y Social, documento contentivo de una reforma económica definida como la adaptación del socialismo a los nuevos tiempos. Este Congreso es histórico por haber supuesto el cese de [[Fidel Castro]] como primer secretario y autodefinirse como el último congreso de la generación impulsora de la Revolución.<ref>{{cita noticia|autor=Carmelo Mesa-Lago|url=http://elpais.com/diario/2011/05/26/opinion/1306360811_850215.html|título=El Congreso del PCC y la economía cubana|editorial=El País|fecha=20 de mayo de 2011}}</ref><br />
<br />
El VII Congreso se celebró entre el 16 y el 19 de abril de 2016. En este encuentro se aprobó la actualización de los Lineamientos de la Política Económica y Social, así como la Conceptualización del Modelo Socialista y el Plan Estratégico de Desarrollo hasta 2030. Resultaron reelegidos [[Raúl Castro]] y [[José Ramón Machado Ventura]] al frente de la organización.<br />
<br />
El VIII Congreso del PCC se celebró entre el 16 y el 19 de abril de 2021.<br />
<br />
=== Conferencia Nacional ===<br />
La Conferencia Nacional que se reúne entre los congresos, debe ser convocada por el propio Congreso o por el Comité Central para tratar asuntos estratégicos del Partido y elegir al propio Comité Central y los demás órganos de dirección. Se ha celebrado una sola vez en enero de 2012.<br />
<br />
=== Comité Central ===<br />
{{AP|Anexo:Miembros del Comité Central del Partido Comunista de Cuba}}<br />
El Comité Central, constituido por primera vez en 1965, está definido como el organismo superior del Partido entre cada Congreso. Decide el número de integrantes del Buró Político y del Secretariado, elige a sus miembros y, entre ellos, al Primer y al Segundo Secretario. Está encargado de aplicar las resoluciones, políticas y programas aprobadas por el Congreso. Se reúne en Pleno por lo menos dos veces al año y cuando lo convoque el Buró Político.<br />
<br />
=== Buró Político ===<br />
El Buró Político es el órgano de dirección superior del PCC y la máxima instancia ideológica del país. Ejecuta las resoluciones de los congresos y el Comité Central. Está integrado en este momento por el Primer y Segundo Secretarios y 13 miembros más. Tiene iniciativa legislativa y propone al Consejo de Estado las acciones políticas que deben ejecutar en materia de disposiciones legales y nombramientos.<br />
<br />
En el VI{{esd}}Congreso, celebrado en abril de 2011, fue elegido después de 14 años un nuevo Buró Político de 15 miembros, encabezado por [[Raúl Castro Ruz]] y [[José Ramón Machado Ventura]] como primer y segundo secretarios. En septiembre de 2011, falleció el general [[Julio Casas Regueiro]], miembro de ese órgano. En diciembre de 2012, fue promovido el canciller [[Bruno Rodríguez Parrilla]]. En julio de 2013, fue aceptada la renuncia del veterano político [[Ricardo Alarcón de Quesada]] y, en octubre de 2015, el general [[Abelardo Colomé Ibarra]] solicitó su renuncia por problemas de salud.<br />
<br />
=== Secretariado ===<br />
El '''Secretariado '''del Comité Central del Partido es el órgano que auxilia al Buró Pólítico en el trabajo con sus cuadros y militantes. Existió de 1965 a 1991 (sus funciones fueron asumidas por el Buró Político ampliado el número de sus integrantes) y fue restablecido en 2006. Sus integrantes son los máximos responsables de las Comisiones Permanentes del Comité Central (entidades creadas en 2008 y que agrupan a los departamentos del Comité Central). Los dirigentes del Secretariado y de los departamentos constituyen un aparato político paralelo al Gobierno de la nación, interviniendo en el desarrollo y control de las políticas de los organismos de la administración central del Estado y de los gobiernos provinciales y municipales.<br />
<br />
El Secretariado está presidido por el Primer Secretario del Comité Central. El VI{{esd}}Congreso del PCC, celebrado en abril de 2011, se decidió que [[José Ramón Machado Ventura]], Segundo Secretario, presidiera este órgano por delegación permanente del Primer Secretario [[Raúl Castro Ruz]], hecho que ocurrió por primera vez en la historia del PCC. El VIII Congreso nombró Primer Secretario del PCC al [[Presidente de la República]] [[Miguel Díaz-Canel]] en 2021.<br />
<br />
=== Departamentos y otras estructuras auxiliares ===<br />
{{AP|Anexo:Miembros del Comité Central del Partido Comunista de Cuba}}<br />
Para su funcionamiento interno el Comité Central se organiza en departamentos, cuyo trabajo subordina al Secretariado del Comité Central. También existen otras estructuras subordinadas al Comité Central como la Oficina de Asuntos Religiosos, la Escuela Superior del Partido o el Periódico Granma. Sus máximas autoridades pueden ser miembros del Comité Central o simples militantes del Partido a quienes se les designe para estas funciones administrativas.<br />
<br />
=== Organización territorial ===<br />
Los militantes y estructuras del PCC tienen su organización territorial de conformidad con la organización político-administrativa del país. En las provincias su máximo órgano es el Comité Provincial, dirigido por el Buró Provincial. En los municipios lo es el Comité Municipal. Las máximas autoridades lo son también los Primeros Secretarios.</div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Citas/Sugerencias&diff=5919Módulo:Citas/Sugerencias2024-03-04T00:14:20Z<p>Miguel: Creación de «Módulo:Citas/Sugerencias»</p>
<hr />
<div>-- La forma es: "['Errores'] = 'Corrección', -- idioma de origen".<br />
<br />
suggestions = {<br />
-- Traducciones erróneas de otros idiomas<br />
['annee'] = 'año', -- francés<br />
['année'] = 'año', -- francés<br />
['auteur'] = 'autor', -- francés<br />
['auteur institutionnel'] = 'autor', -- francés<br />
['auteur1'] = 'autor', -- francés<br />
['auteur2'] = 'coautor', -- francés<br />
['auteurs'] = 'autor', -- francés<br />
['autore'] = 'autor', -- italiano<br />
['champ libre'] = 'otros', -- francés<br />
['città'] = 'lugar', -- italiano<br />
['cognom'] = 'apellido', -- catalán<br />
['collection'] = 'serie', -- francés, inglés<br />
['data'] = 'fecha', -- inglés<br />
['data2'] = 'fecha', -- inglés<br />
['date'] = 'fecha', -- inglés<br />
['date2'] = 'fecha', -- inglés<br />
['datum'] = 'fecha', -- alemán<br />
['day'] = 'día', -- inglés<br />
['directeur1'] = 'editor', -- francés<br />
['editeur'] = 'editorial', -- francés<br />
['éditeur'] = 'editorial', -- francés<br />
['edition'] = 'edición', -- inglés (en francés es equivalente a «editorial»)<br />
['édition'] = 'editorial', -- francés<br />
['jour'] = 'día', -- francés<br />
['issue'] = 'número', -- inglés<br />
['langue'] = 'idioma', -- francés<br />
['lien auteur1'] = 'enlaceautor', -- francés<br />
['lien auteur2'] = 'enlaceautor2', -- francés<br />
['lien auteur3'] = 'enlaceautor3', -- francés<br />
['lien editeur'] = 'enlace-editor', -- francés<br />
['lien éditeur'] = 'enlace-editor', -- francés<br />
['lieu'] = 'ubicación', -- francés<br />
['lingua'] = 'idioma', -- italiano<br />
['lingua2'] = 'idioma', -- italiano<br />
['lingua3'] = 'idioma', -- italiano<br />
['língua'] = 'idioma', -- italiano<br />
['língua2'] = 'idioma', -- italiano<br />
['língua3'] = 'idioma', -- italiano<br />
['lire en ligne'] = 'url', -- francés<br />
['llengua'] = 'idioma', -- catalán<br />
['magazine'] = 'publicación', -- francés<br />
['mois'] = 'mes', -- francés<br />
['month'] = 'mes', -- inglés<br />
['month2'] = 'mes', -- inglés<br />
["numéro d'édition"] = 'edición', -- francés<br />
['newspaper'] = 'publicación', -- inglés<br />
['nom'] = 'nombre', -- francés, catalán<br />
['nom1'] = 'nombre', -- francés<br />
['nom2'] = 'nombre2', -- francés<br />
['numéro'] = 'número', -- francés<br />
['page'] = 'página', -- francés, inglés<br />
['pages'] = 'páginas', -- francés, inglés<br />
['passage'] = 'páginas', -- francés<br />
['periodique'] = 'publicación', -- francés<br />
['périodique'] = 'publicación', -- francés<br />
['prenom1'] = 'nombre', -- francés<br />
['prénom1'] = 'nombre', -- francés<br />
['prenom2'] = 'nombre2', -- francés<br />
['prénom2'] = 'nombre2', -- francés<br />
['postnom1'] = 'apellido', -- francés<br />
['postnom2'] = 'apellido2', -- francés<br />
['pub'] = 'editorial', -- inglés<br />
['pubblicazione'] = 'publicación', -- italiano<br />
['published'] = 'fecha-publicación', -- inglés<br />
['publisher'] = 'editorial', -- inglés<br />
['publsiher'] = 'editorial', -- inglés<br />
['pulbisher'] = 'editorial', -- inglés<br />
['série'] = 'serie', -- francés<br />
['source'] = 'publicación', -- inglés<br />
['sprache'] = 'idioma', -- alemán<br />
['titel'] = 'título', -- alemán<br />
['titol'] = 'título', -- catalán<br />
['títol'] = 'título', -- catalán<br />
['titolo'] = 'título', -- italiano<br />
['titre'] = 'título', -- francés<br />
['tome'] = 'número', -- francés (no confundir con «tomo»)<br />
['traducteur'] = 'traductor', -- francés<br />
['traduction titre'] = 'título-trad', -- francés<br />
['url texte'] = 'url', -- francés<br />
['volume'] = 'volumen', -- francés, inglés<br />
['werk'] = 'obra', -- alemán<br />
['wkautore'] = 'enlaceautor', -- italiano<br />
['work'] = 'obra', -- inglés<br />
['year'] = 'año', -- inglés<br />
['year2'] = 'año', -- inglés<br />
['zitat'] = 'cita', -- alemán<br />
<br />
-- Fecha de acceso<br />
['accesso'] = 'fechaacceso', -- italiano<br />
['accssdate'] = 'fechaacceso', -- inglés<br />
['acessdate'] = 'fechaacceso', -- inglés<br />
['acessodata'] = 'fechaacceso',<br />
['consulta'] = 'fechaacceso',<br />
['consultado'] = 'fechaacceso',<br />
['consultadoel'] = 'fechaacceso',<br />
['consultado el'] = 'fechaacceso',<br />
['consultado_el'] = 'fechaacceso',<br />
['consulté le'] = 'fechaacceso', -- francés<br />
['consulte le'] = 'fechaacceso', -- francés<br />
['fachaacceso'] = 'fechaacceso',<br />
['fecchacceso'] = 'fechaacceso',<br />
['fechadeacceso'] = 'fechaacceso',<br />
['fechasacceso'] = 'fechaacceso',<br />
['fechacceso'] = 'fechaacceso',<br />
['fecha de acceso'] = 'fechaacceso',<br />
['fecha acceso'] = 'fechaacceso',<br />
['fecha_de_acceso'] = 'fechaacceso',<br />
['fecha_acceso'] = 'fechaacceso',<br />
['fechadeaccesso'] = 'fechaacceso',<br />
['fechaaceso'] = 'fechaacceso',<br />
['fechaaaceso'] = 'fechaacceso',<br />
['fechaaccesso'] = 'fechaacceso',<br />
['fechaacesso'] = 'fechaacceso',<br />
['fechaaccceso'] = 'fechaacceso',<br />
['zugriff'] = 'fechaacceso', -- alemán<br />
<br />
-- Los parámetros para los que falta la tilde<br />
['ano'] = 'año', -- portugués<br />
['capitulo'] = 'capítulo',<br />
['capitulos'] = 'capítulo',<br />
['edicion'] = 'edición',<br />
['numero'] = 'número', -- portugués<br />
['pagina'] = 'página',<br />
['paginas'] = 'páginas',<br />
['periodico'] = 'periódico',<br />
['publicacion'] = 'publicación',<br />
['titulo'] = 'título',<br />
['ubicacion'] = 'ubicación',<br />
['URLcapitulo'] = 'urlcapítulo',<br />
<br />
-- Errores ortográficos<br />
['auhor'] = 'autor',<br />
['aepllido'] = 'apellido',<br />
['apellidp'] = 'apellido',<br />
['fehca'] = 'fecha',<br />
['ombre'] = 'nombre',<br />
['ditorial'] = 'editorial',<br />
['idiona'] = 'idioma',<br />
<br />
-- Otros<br />
['archivofecha'] = 'fechaarchivo',<br />
['archivourl'] = 'urlarchivo',<br />
['capítulos'] = 'capítulo',<br />
['diario'] = 'publicación',<br />
['editor-apellido'] = 'apellido-editor',<br />
['editor-apellidos'] = 'apellidos-editor',<br />
['editor-nombre'] = 'nombre-editor',<br />
['editor1-apellidos'] = 'apellidos-editor1',<br />
['editor1-nombre'] = 'nombre-editor1',<br />
['editor2-apellidos'] = 'apellidos-editor2',<br />
['editor2-nombre'] = 'nombre-editor2',<br />
['editor3-apellidos'] = 'apellidos-editor3',<br />
['editor3-nombre'] = 'nombre-editor3',<br />
['editor4-apellidos'] = 'apellidos-editor4',<br />
['editor4-nombre'] = 'nombre-editor4',<br />
['fecharchivo'] = 'fechaarchivo',<br />
['fuente'] = 'publicación',<br />
['lenguaje'] = 'idioma',<br />
['locacion'] = 'ubicación',<br />
['locación'] = 'ubicación',<br />
['localización'] = 'ubicación',<br />
['lugar'] = 'ubicación',<br />
['número de edición'] = 'edición',<br />
['pág'] = 'página',<br />
['periodico'] = 'publicación',<br />
['periódico'] = 'publicación',<br />
['primero'] = 'nombre',<br />
['publicado'] = 'publicación',<br />
['publicador'] = 'editorial',<br />
['publicista'] = 'editorial',<br />
['revista'] = 'publicación',<br />
['sitio'] = 'obra',<br />
['tomo'] = 'volumen',<br />
['trabajo'] = 'obra',<br />
['ultimo'] = 'apellido',<br />
['último'] = 'apellido',<br />
['vol'] = 'volumen',<br />
<br />
}<br />
return suggestions;</div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Citas/Validaci%C3%B3nFechas&diff=5918Módulo:Citas/ValidaciónFechas2024-03-04T00:13:28Z<p>Miguel: Creación de «Módulo:Citas/ValidaciónFechas»</p>
<hr />
<div>local p = {}<br />
<br />
-- returns a number according to the month in a date: 1 for January, etc. Capitalization and spelling must be correct. If not a valid month, returns 0<br />
function get_month_number (month)<br />
local long_months = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12};<br />
local short_months = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12};<br />
local temp;<br />
temp=long_months[month];<br />
if temp then return temp; end -- if month is the long-form name<br />
temp=short_months[month];<br />
if temp then return temp; end -- if month is the short-form name<br />
return 0; -- misspelled, improper case, or not a month name<br />
end<br />
<br />
-- returns a number according to the sequence of seasons in a year: 1 for Winter, etc. Capitalization and spelling must be correct. If not a valid season, returns 0<br />
function get_season_number (season)<br />
local season_list = {['Winter']=1, ['Spring']=2, ['Summer']=3, ['Fall']=4, ['Autumn']=4}<br />
local temp;<br />
temp=season_list[season];<br />
if temp then return temp; end -- if season is a valid name return its number<br />
return 0; -- misspelled, improper case, or not a season name<br />
end<br />
<br />
--returns true if month or season is valid (properly spelled, capitalized, abbreviated)<br />
function is_valid_month_or_season (month_season)<br />
if 0 == get_month_number (month_season) then -- if month text isn't one of the twelve months, might be a season<br />
if 0 == get_season_number (month_season) then -- not a month, is it a season?<br />
return false; -- return false not a month or one of the five seasons<br />
end<br />
end<br />
return true;<br />
end<br />
<br />
<br />
-- Function gets current year from the server and compares it to year from a citation parameter. Years more than one year in the future are not acceptable.<br />
function is_valid_year(year)<br />
if not is_set(year_limit) then<br />
year_limit = tonumber(os.date("%Y"))+1; -- global variable so we only have to fetch it once (os.date("Y") no longer works?)<br />
end<br />
return tonumber(year) <= year_limit; -- false if year is in the future more than one year<br />
end<br />
<br />
--[[<br />
Returns true if day is less than or equal to the number of days in month and year is no farther into the future than next year; else returns false.<br />
<br />
Assumes Julian calendar prior to year 1582 and Gregorian calendar thereafter. Accounts for Julian calendar leap years before 1582 and Gregorian leap years after 1582.<br />
Where the two calendars overlap (1582 to approximately 1923) dates are assumed to be Gregorian.<br />
]]<br />
function is_valid_date (year, month, day)<br />
local days_in_month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};<br />
local month_length;<br />
if not is_valid_year(year) then -- no farther into the future than next year<br />
return false;<br />
end<br />
<br />
if (2==month) then -- if February<br />
month_length = 28; -- then 28 days unless<br />
if 1582 > tonumber(year) then -- Julian calendar<br />
if 0==(year%4) then<br />
month_length = 29;<br />
end<br />
else -- Gregorian calendar<br />
if (0==(year%4) and (0~=(year%100) or 0==(year%400))) then -- is a leap year?<br />
month_length = 29; -- if leap year then 29 days in February<br />
end<br />
end<br />
else<br />
month_length=days_in_month[month];<br />
end<br />
<br />
if tonumber (day) > month_length then<br />
return false;<br />
end<br />
return true;<br />
end<br />
<br />
--[[<br />
Check a pair of months or seasons to see if both are valid members of a month or season pair.<br />
<br />
Month pairs are expected to be left to right, earliest to latest in time. Similarly, seasons are also left to right, earliest to latest in time. There is<br />
an oddity with seasons. Winter is assigned a value of 1, spring 2, ..., fall and autumn 4. Because winter can follow fall/autumn at the end of a calender year, a special test<br />
is made to see if |date=Fall-Winter yyyy (4-1) is the date.<br />
]]<br />
<br />
function is_valid_month_season_range(range_start, range_end)<br />
local range_start_number = get_month_number (range_start);<br />
<br />
if 0 == range_start_number then -- is this a month range?<br />
local range_start_number = get_season_number (range_start); -- not a month; is it a season? get start season number<br />
local range_end_number = get_season_number (range_end); -- get end season number<br />
<br />
if 0 ~= range_start_number then -- is start of range a season?<br />
if range_start_number < range_end_number then -- range_start is a season<br />
return true; -- return true when range_end is also a season and follows start season; else false<br />
end<br />
if 4 == range_start_number and 1 == range_end_number then -- special case when range is Fall-Winter or Autumn-Winter<br />
return true;<br />
end<br />
end<br />
return false; -- range_start is not a month or a season; or range_start is a season and range_end is not; or improper season sequence<br />
end<br />
<br />
local range_end_number = get_month_number (range_end); -- get end month number<br />
if range_start_number < range_end_number then -- range_start is a month; does range_start precede range_end?<br />
return true; -- if yes, return true<br />
end<br />
return false; -- range_start month number is greater than or equal to range end number; or range end isn't a month<br />
end<br />
<br />
--[[<br />
Check date format to see that it is one of the formats approved by WP:DATESNO or WP:DATERANGE. Exception: only allowed range separator is endash.<br />
Additionally, check the date to see that it is a real date: no 31 in 30-day months; no 29 February when not a leap year. Months, both long-form and three<br />
character abbreviations, and seasons must be spelled correctly. Future years beyond next year are not allowed.<br />
<br />
If the date fails the fomat tests, this function returns false and does not return values for anchor_year and COinS_date. When this happens, the date parameter is<br />
used in the COinS metadata and the CITEREF identifier gets its year from the year parameter if present otherwise CITEREF does not get a date value.<br />
<br />
Inputs:<br />
date_string - date string from date-holding parameters (date, year, accessdate, embargo, archivedate, etc)<br />
<br />
Returns:<br />
false if date string is not a real date; else<br />
true, anchor_year, COinS_date<br />
anchor_year can be used in CITEREF anchors<br />
COinS_date is date_string without anchor_year disambiguator if any<br />
]]<br />
function check_date (date_string)<br />
local year; -- assume that year2, months, and days are not used;<br />
local year2=0; -- second year in a year range<br />
local month=0;<br />
local month2=0; -- second month in a month range<br />
local day=0;<br />
local day2=0; -- second day in a day range<br />
local anchor_year;<br />
local coins_date;<br />
<br />
if date_string:match("^%d%d%d%d%-%d%d%-%d%d$") then -- year-initial numerical year month day format<br />
year, month, day=string.match(date_string, "(%d%d%d%d)%-(%d%d)%-(%d%d)");<br />
month=tonumber(month);<br />
if 12 < month or 1 > month or 1583 > tonumber(year) then return false; end -- month number not valid or not Gregorian calendar<br />
anchor_year = year;<br />
<br />
elseif date_string:match("^%a+ +[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month-initial: month day, year<br />
month, day, anchor_year, year=string.match(date_string, "(%a+)%s*(%d%d?),%s*((%d%d%d%d)%a?)");<br />
month = get_month_number (month);<br />
if 0 == month then return false; end -- return false if month text isn't one of the twelve months<br />
<br />
elseif date_string:match("^%a+ +[1-9]%d?–[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month-initial day range: month day–day, year; days are separated by endash<br />
month, day, day2, anchor_year, year=string.match(date_string, "(%a+) +(%d%d?)–(%d%d?), +((%d%d%d%d)%a?)");<br />
if tonumber(day) >= tonumber(day2) then return false; end -- date range order is left to right: earlier to later; dates may not be the same;<br />
month = get_month_number (month);<br />
if 0 == month then return false; end -- return false if month text isn't one of the twelve months<br />
<br />
elseif date_string:match("^[1-9]%d? +%a+ +[1-9]%d%d%d%a?$") then -- day-initial: day month year<br />
day, month, anchor_year, year=string.match(date_string, "(%d%d*)%s*(%a+)%s*((%d%d%d%d)%a?)");<br />
month = get_month_number (month);<br />
if 0 == month then return false; end -- return false if month text isn't one of the twelve months<br />
<br />
elseif date_string:match("^[1-9]%d?–[1-9]%d? +%a+ +[1-9]%d%d%d%a?$") then -- day-range-initial: day–day month year; days are separated by endash<br />
day, day2, month, anchor_year, year=string.match(date_string, "(%d%d?)–(%d%d?) +(%a+) +((%d%d%d%d)%a?)");<br />
if tonumber(day) >= tonumber(day2) then return false; end -- date range order is left to right: earlier to later; dates may not be the same;<br />
month = get_month_number (month);<br />
if 0 == month then return false; end -- return false if month text isn't one of the twelve months<br />
<br />
elseif date_string:match("^[1-9]%d? +%a+ – [1-9]%d? +%a+ +[1-9]%d%d%d%a?$") then -- day initial month-day-range: day month - day month year; uses spaced endash<br />
day, month, day2, month2, anchor_year, year=date_string:match("(%d%d?) +(%a+) – (%d%d?) +(%a+) +((%d%d%d%d)%a?)");<br />
if (not is_valid_month_season_range(month, month2)) or not is_valid_year(year) then return false; end -- date range order is left to right: earlier to later;<br />
month = get_month_number (month);<br />
month2 = get_month_number (month2);<br />
<br />
elseif date_string:match("^%a+ +[1-9]%d? – %a+ +[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month initial month-day-range: month day – month day, year; uses spaced endash<br />
month, day, month2, day2, anchor_year, year=date_string:match("(%a+) +(%d%d?) – (%a+) +(%d%d?), +((%d%d%d%d)%a?)");<br />
if (not is_valid_month_season_range(month, month2)) or not is_valid_year(year) then return false; end<br />
month = get_month_number (month);<br />
month2 = get_month_number (month2);<br />
<br />
elseif date_string:match("^Winter +[1-9]%d%d%d–[1-9]%d%d%d%a?$") then -- special case Winter year-year; year separated with unspaced endash<br />
year, anchor_year, year2=date_string:match("Winter +(%d%d%d%d)–((%d%d%d%d)%a?)");<br />
anchor_year=year..'–'..anchor_year; -- assemble anchor_year from both years<br />
if 1 ~= tonumber(year2) - tonumber(year) then return false; end -- must be sequential years, left to right, earlier to later<br />
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year<br />
<br />
elseif date_string:match("^%a+ +[1-9]%d%d%d% – %a+ +[1-9]%d%d%d%a?$") then -- month/season year - month/season year; separated by spaced endash<br />
month, year, month2, anchor_year, year2=date_string:match("(%a+) +(%d%d%d%d) – (%a+) +((%d%d%d%d)%a?)");<br />
anchor_year=year..'–'..anchor_year; -- assemble anchor_year from both years<br />
if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same<br />
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year<br />
if not((0 ~= get_month_number(month) and 0 ~= get_month_number(month2)) or -- both must be month year or season year, not mixed<br />
(0 ~= get_season_number(month) and 0 ~= get_season_number(month2))) then return false; end<br />
<br />
elseif date_string:match ("^%a+–%a+ +[1-9]%d%d%d%a?$") then -- month/season range year; months separated by endash <br />
month, month2, anchor_year, year=date_string:match ("(%a+)–(%a+)%s*((%d%d%d%d)%a?)");<br />
if (not is_valid_month_season_range(month, month2)) or (not is_valid_year(year)) then<br />
return false;<br />
end<br />
<br />
elseif date_string:match("^%a+ +%d%d%d%d%a?$") then -- month/season year<br />
month, anchor_year, year=date_string:match("(%a+)%s*((%d%d%d%d)%a?)");<br />
if not is_valid_year(year) then return false; end<br />
if not is_valid_month_or_season (month) then return false; end<br />
<br />
elseif date_string:match("^[1-9]%d%d%d?–[1-9]%d%d%d?%a?$") then -- Year range: YYY-YYY or YYY-YYYY or YYYY–YYYY; separated by unspaced endash; 100-9999<br />
year, anchor_year, year2=date_string:match("(%d%d%d%d?)–((%d%d%d%d?)%a?)");<br />
anchor_year=year..'–'..anchor_year; -- assemble anchor year from both years<br />
if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same<br />
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year<br />
<br />
elseif date_string:match("^[1-9]%d%d%d–%d%d%a?$") then -- Year range: YYYY–YY; separated by unspaced endash<br />
local century;<br />
year, century, anchor_year, year2=date_string:match("((%d%d)%d%d)–((%d%d)%a?)");<br />
anchor_year=year..'–'..anchor_year; -- assemble anchor year from both years<br />
if 13 > tonumber(year2) then return false; end -- don't allow 2003-05 which might be May 2003<br />
year2 = century..year2; -- add the century to year2 for comparisons<br />
if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same<br />
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year<br />
<br />
elseif date_string:match("^[1-9]%d%d%d?%a?$") then -- year; here accept either YYY or YYYY<br />
anchor_year, year=date_string:match("((%d%d%d%d?)%a?)");<br />
if false == is_valid_year(year) then<br />
return false;<br />
end<br />
<br />
else<br />
return false; -- date format not one of the MOS:DATE approved formats<br />
end<br />
<br />
local result=true; -- check whole dates for validity; assume true because not all dates will go through this test<br />
if 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 == month2 and 0 == day2 then -- YMD (simple whole date)<br />
result=is_valid_date(year,month,day);<br />
<br />
elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 == month2 and 0 ~= day2 then -- YMD-d (day range)<br />
result=is_valid_date(year,month,day);<br />
result=result and is_valid_date(year,month,day2);<br />
<br />
elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 ~= month2 and 0 ~= day2 then -- YMD-md (day month range)<br />
result=is_valid_date(year,month,day);<br />
result=result and is_valid_date(year,month2,day2);<br />
<br />
elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 ~= year2 and 0 ~= month2 and 0 ~= day2 then -- YMD-ymd (day month year range)<br />
result=is_valid_date(year,month,day);<br />
result=result and is_valid_date(year2,month2,day2);<br />
end<br />
<br />
if false == result then return false; end<br />
-- if here, then date_string is valid; get coins_date from date_string (leave CITEREF disambiguator) ...<br />
coins_date=date_string:match("^(.+%d)%a?$"); -- last character of valid disambiguatable date is always a digit<br />
coins_date= mw.ustring.gsub(coins_date, "–", "-" ); -- ... and replace any ndash with a hyphen<br />
<br />
return true, anchor_year, coins_date; -- format is good and date string represents a real date<br />
end <br />
<br />
--[[<br />
Cycle the date-holding parameters in passed table date_parameters_list through check_date() to check compliance with MOS:DATE. For all valid dates, check_date() returns<br />
true. The |date= parameter test is unique, it is the only date holding parameter from which values for anchor_year (used in CITEREF identifiers) and COinS_date (used in<br />
the COinS metadata) are derived. The |date= parameter is the only date-holding parameter that is allowed to contain the no-date keywords "n.d." or "nd" (without quotes).<br />
<br />
Unlike most error messages created in this module, only one error message is created by this function. Because all of the date holding parameters are processed serially,<br />
a single error message is created as the dates are tested.<br />
]]<br />
<br />
function p.dates(date_parameters_list)<br />
local anchor_year; -- will return as nil if the date being tested is not |date=<br />
local COinS_date; -- will return as nil if the date being tested is not |date=<br />
local error_message ="";<br />
local good_date=false;<br />
<br />
for k, v in pairs(date_parameters_list) do -- for each date-holding parameter in the list<br />
if is_set(v) then -- if the parameter has a value<br />
if v:match("^c%. [1-9]%d%d%d?%a?$") then -- special case for c. year or with or without CITEREF disambiguator - only |date= and |year=<br />
local year = v:match("c%. ([1-9]%d%d%d?)%a?"); -- get the year portion so it can be tested<br />
if 'date'==k then<br />
anchor_year, COinS_date = v:match("((c%. [1-9]%d%d%d?)%a?)"); -- anchor year and COinS_date only from |date= parameter<br />
good_date = is_valid_year(year);<br />
elseif 'year'==k then<br />
good_date = is_valid_year(year);<br />
end<br />
elseif 'date'==k then -- if the parameter is |date=<br />
if v:match("n%.d%.%a?") then -- if |date=n.d. with or without a CITEREF disambiguator<br />
good_date, anchor_year, COinS_date = true, v:match("((n%.d%.)%a?)"); --"n.d."; no error when date parameter is set to no date<br />
elseif v:match("nd%a?$") then -- if |date=nd with or without a CITEREF disambiguator<br />
good_date, anchor_year, COinS_date = true, v:match("((nd)%a?)"); --"nd"; no error when date parameter is set to no date<br />
else<br />
good_date, anchor_year, COinS_date = check_date (v); -- go test the date<br />
end<br />
else -- any other date-holding parameter<br />
good_date = check_date (v); -- go test the date<br />
end<br />
if false==good_date then -- assemble one error message so we don't add the tracking category multiple times<br />
if is_set(error_message) then -- once we've added the first portion of the error message ...<br />
error_message=error_message .. ", "; -- ... add a comma space separator<br />
end<br />
error_message=error_message .. "&#124;" .. k .. "="; -- add the failed parameter<br />
end<br />
end<br />
end<br />
<br />
return anchor_year, COinS_date, error_message; -- and done<br />
end<br />
<br />
return p;</div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Citas/Whitelist/doc&diff=5917Módulo:Citas/Whitelist/doc2024-03-04T00:05:55Z<p>Miguel: Creación de «Módulo:Citas/Whitelist/doc»</p>
<hr />
<div>=== Uso ===<br />
{{en desarrollo}}<br />
<includeonly><br />
<!-- Coloca las categorías del módulo a continuación y los interwikis en Wikidata --><br />
</includeonly></div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Citas/Whitelist&diff=5916Módulo:Citas/Whitelist2024-03-04T00:05:18Z<p>Miguel: Creación de «Módulo:Citas/Whitelist»</p>
<hr />
<div>--[[<br />
Because a steady-state signal conveys no useful information, whitelist.basic_arguments[] list items now can have three values:<br />
true - these parameters are valid and supported parameters<br />
false - these parameters are deprecated but still supported<br />
nil - these parameters are no longer supported (when setting a parameter to nil, leave a comment stating the reasons for invalidating the parameter)<br />
]]<br />
whitelist = {<br />
<br />
basic_arguments = {<br />
-- Argumentos permitidos en español no numerados. Algunos de ellos también se usan en inglés.<br />
['1'] = true,<br />
['agencia'] = true,<br />
['ampersand'] = true,<br />
['año'] = true,<br />
['año-original'] = true,<br />
['añoacceso'] = true,<br />
['apellido'] = true,<br />
['apellidos'] = true,<br />
['apellido-editor']= true, <br />
['apellidos-editor']= true, <br />
['artículo'] = true,<br />
['autor'] = true,<br />
['autores'] = true, <br />
['bibcode'] = true,<br />
['BIBCODE'] = true, <br />
['capítulo'] = true, <br />
['capítulo-trad']= true,<br />
['cita'] = true,<br />
['cita-trad'] = true,<br />
['ciudad'] = true, <br />
['colección'] = true, -- Inexistente en la plantilla original. Añadido como sinónimo de serie.<br />
['conferencia'] = true, <br />
['diccionario'] = true, <br />
['doi'] = true,<br />
['DOI'] = true, <br />
['edición'] = true, <br />
['editor'] = true, <br />
['editorial'] = true,<br />
['eissn'] = true,<br />
['EISSN'] = true,<br />
['en'] = true, <br />
['enciclopedia'] = true, <br />
['enlace-autor'] = true,<br />
['enlaceautor'] = true, <br />
['enlaceeditor'] = true,<br />
['enlace-editor']= true, <br />
['enlace-pasaje'] = true,<br />
['entrevistador'] = true, --cite interview <br />
['extra'] = true, -- Inexistente en la plantilla original<br />
['fecha'] = true,<br />
['fecha-acceso'] = true,<br />
['fecha-doi-roto']= true, <br />
['fechaprofano'] = true, <br />
['fecha-publicación']= true,<br />
['fecharesumen'] = true, <br />
['fecha-resumen']= true, <br />
['fechaacceso'] = true,<br />
['fechaarchivo'] = true,<br />
['formato'] = true,<br />
['fuenteresumen']= true, <br />
['fuenteprofano']= true, <br />
['grado'] = true, -- Para tesis<br />
['hdl'] = true,<br />
['HDL'] = true,<br />
['hdl-access'] = true,<br />
['id'] = true,<br />
['ID'] = true, <br />
['idioma'] = true,<br />
['isbn'] = true,<br />
['ISBN'] = true,<br />
['isbn13'] = true,<br />
['ISBN13'] = true,<br />
['issn'] = true,<br />
['ISSN'] = true, <br />
['localización'] = true,<br />
['lugar'] = true,<br />
['lugar-publicación']= true, <br />
['máscaraautor'] = true,<br />
['máscara-autor']= true,<br />
['medio'] = true,<br />
['nombre'] = true,<br />
['nombre-editor']= true, <br />
['nombres'] = true, <br />
['número'] = true, <br />
['número-autores']= true,<br />
['número-editores']= true,<br />
['obra'] = true, <br />
['oclc'] = true,<br />
['OCLC'] = true,<br />
['ol'] = true,<br />
['OL'] = true, <br />
['otros'] = true, <br />
['página'] = true,<br />
['páginas'] = true,<br />
['pasaje'] = true,<br />
['periódico'] = true, <br />
['persona'] = true,<br />
['personas'] = true,<br />
['publicación'] = true, <br />
['pub-periódica'] = true,<br />
['puntofinal'] = true,<br />
['registro'] = true,<br />
['requiereregistro'] = true, <br />
['requiere-registro'] = true, <br />
['resumen'] = true, <br />
['resumenprofano']= true, <br />
['revista'] = true, <br />
['s2cid'] = true,<br />
['separador'] = true, <br />
['separador-autores']= true, <br />
['separador-nombres']= true, <br />
['serie'] = true,<br />
['sined'] = true, -- Inexistente en la plantilla original <br />
['sinpp'] = true,<br />
['sitio web'] = true,<br />
['sitioweb'] = true,<br />
['suscripción'] = true, <br />
['temporada'] = true, <br />
['tiempo'] = true,<br />
['tipo'] = true, <br />
['título'] = true,<br />
['títulolibro'] = true, <br />
['trad-título'] = true,<br />
['título_trad'] = true,<br />
['títulotrad'] = true,<br />
['título-trad'] = true,<br />
['traductor'] = true,<br />
['traductores'] = true,<br />
['ubicación'] = true, <br />
['ubicación-publicación']= true, <br />
['url'] = true,<br />
['URL'] = true, <br />
['urlarchivo'] = true,<br />
['url-acceso'] = true,<br />
['url-capítulo'] = true,<br />
['urlcapítulo'] = true,<br />
['urlconferencia'] = true, <br />
['urlmuerta'] = true,<br />
['url-pasaje'] = true,<br />
['versión'] = true,<br />
['volumen'] = true,<br />
['wikidata'] = true,<br />
<br />
-- Parámetros obsoletos (con false)<br />
['añoacceso'] = false,<br />
['coautor'] = false, <br />
['coautores'] = false, <br />
['día'] = false, <br />
['mes'] = false, <br />
['mesacceso'] = false, <br />
['accessmonth'] = false, <br />
['accessyear'] = false, <br />
<br />
-- Parámetros en inglés<br />
<br />
['accessdate'] = true,<br />
['access-date'] = true,<br />
['agency'] = true,<br />
['airdate'] = true,<br />
['albumlink'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of titlelink used by old cite AV media notes<br />
['albumtype'] = nil, -- controled inappropriate functionality in the old cite AV media notes<br />
['archivedate'] = true,<br />
['archive-date'] = true,<br />
['archiveurl'] = true,<br />
['archive-url'] = true,<br />
['article'] = true,<br />
['artist'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of others used by old cite AV media notes<br />
['bandname'] = false, -- Obsoleto. Remplazado por artist que será remplazado creo que por others.<br />
['arxiv'] = true,<br />
['ARXIV'] = true,<br />
['at'] = true,<br />
['author'] = true,<br />
['Author'] = true,<br />
['author-first'] = true,<br />
['authorformat'] = true,<br />
['author-format'] = true,<br />
['author-last'] = true,<br />
['authorlink'] = true,<br />
['author-link'] = true,<br />
['authormask'] = true,<br />
['author-mask'] = true,<br />
['author-name-separator'] = true,<br />
['authors'] = true,<br />
['author-separator'] = true,<br />
['booktitle'] = true,<br />
['book-title'] = true, <br />
['callsign']=true, -- cite interview<br />
['cartography'] = true,<br />
['chapter'] = true,<br />
['chapterlink'] = true,<br />
['chapterurl'] = true,<br />
['chapter-url'] = true,<br />
['city']=true, -- cite interview<br />
['coauthor'] = false,<br />
['coauthors'] = false,<br />
['cointerviewers'] = false, -- cite interview<br />
['conference'] = true,<br />
['conferenceurl'] = true,<br />
['conference-url'] = true,<br />
['contribution'] = true,<br />
['contributionurl'] = true,<br />
['contribution-url'] = true,<br />
['date'] = true,<br />
['day'] = false,<br />
['dead-url'] = true,<br />
['deadurl'] = true,<br />
['degree'] = true,<br />
['department'] = true,<br />
['dictionary'] = true,<br />
['director'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of author used by old cite DVD-notes<br />
['displayauthors'] = true,<br />
['display-authors'] = true,<br />
['displayeditors'] = true,<br />
['display-editors'] = true,<br />
['docket'] = true,<br />
['DoiBroken'] = true,<br />
['doi_brokendate'] = true,<br />
['doi_inactivedate'] = true,<br />
['edition'] = true,<br />
['Editor'] = true,<br />
['editor-first'] = true,<br />
['editorformat'] = true,<br />
['editor-format'] = true,<br />
['EditorGiven'] = true,<br />
['editor-last'] = true,<br />
['editorlink'] = true,<br />
['editor-link'] = true,<br />
['editormask'] = true,<br />
['editor-mask'] = true,<br />
['editor-name-separator'] = true,<br />
['editors'] = true,<br />
['editor-separator'] = true,<br />
['EditorSurname'] = true,<br />
['embargo'] = true,<br />
['Embargo'] = true,<br />
['encyclopaedia'] = true,<br />
['encyclopedia'] = true,<br />
['entry'] = true,<br />
['episodelink'] = true,<br />
['event'] = true,<br />
['eventurl'] = true,<br />
['first'] = true,<br />
['format'] = true,<br />
['given'] = true,<br />
['host'] = true,<br />
['ignoreisbnerror'] = true,<br />
['ignore-isbn-error'] = true,<br />
['in'] = true,<br />
['inset'] = true,<br />
['institution'] = true,<br />
['interviewer'] = true, --cite interview<br />
['issue'] = true,<br />
['jfm'] = true,<br />
['JFM'] = true,<br />
['journal'] = true,<br />
['jstor'] = true,<br />
['JSTOR'] = true,<br />
['language'] = true,<br />
['last'] = true,<br />
['lastauthoramp'] = true,<br />
['laydate'] = true,<br />
['laysource'] = true,<br />
['laysummary'] = true,<br />
['layurl'] = true,<br />
['lccn'] = true,<br />
['LCCN'] = true,<br />
['location'] = true,<br />
['magazine'] = true,<br />
['medium'] = true,<br />
['minutes'] = true,<br />
['month'] = false,<br />
['mr'] = true,<br />
['MR'] = true,<br />
['name-separator'] = true,<br />
['network'] = true,<br />
['newspaper'] = true,<br />
['nocat'] = true,<br />
['nopp'] = true,<br />
['notestitle'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of chapter used by old cite AV media notes<br />
['notracking'] = true,<br />
['no-tracking'] = true,<br />
['number'] = true,<br />
['origyear'] = true,<br />
['osti'] = true,<br />
['OSTI'] = true,<br />
['others'] = true,<br />
['p'] = true,<br />
['page'] = true,<br />
['pages'] = true,<br />
['people'] = true,<br />
['periodical'] = true,<br />
['place'] = true,<br />
['pmc'] = true,<br />
['PMC'] = true,<br />
['pmid'] = true,<br />
['PMID'] = true,<br />
['postscript'] = true,<br />
['pp'] = true,<br />
['PPPrefix'] = true,<br />
['PPrefix'] = true,<br />
['program']=true, -- cite interview<br />
['publicationdate'] = true,<br />
['publication-date'] = true,<br />
['publicationplace'] = true,<br />
['publication-place'] = true,<br />
['publisher'] = true,<br />
['publisherid'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of others used by old cite AV media notes and old cite DVD-notes<br />
['quotation'] = true,<br />
['quote'] = true,<br />
['ref'] = true,<br />
['Ref'] = true,<br />
['registration'] = true,<br />
['rfc'] = true,<br />
['RFC'] = true,<br />
['scale'] = true,<br />
['season'] = true,<br />
['section'] = true,<br />
['sectionurl'] = true,<br />
['separator'] = true,<br />
['series'] = true,<br />
['serieslink'] = true,<br />
['seriesno'] = true,<br />
['seriesnumber'] = true,<br />
['series-separator'] = true,<br />
['ssrn'] = true,<br />
['SSRN'] = true,<br />
['station'] = true,<br />
['subject'] = true,<br />
['subjectlink'] = true,<br />
['subscription'] = true,<br />
['surname'] = true,<br />
['template doc demo'] = true,<br />
['time'] = true,<br />
['timecaption'] = true,<br />
['title'] = true,<br />
['titlelink'] = true,<br />
['titleyear'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of origyear used by old cite DVD-notes<br />
['trans_chapter'] = true,<br />
['trans-chapter'] = true,<br />
['transcript'] = true,<br />
['transcripturl'] = true,<br />
['transcript-url'] = true,<br />
['trans_quote'] = true,<br />
['trans-quote'] = true,<br />
['trans_title'] = true,<br />
['trans-title'] = true,<br />
['type'] = true,<br />
['url-access'] = true,<br />
['version'] = true,<br />
['via'] = true,<br />
['volume'] = true,<br />
['website'] = true,<br />
['work'] = true,<br />
['year'] = true,<br />
['zbl'] = true,<br />
['ZBL'] = true,<br />
},<br />
<br />
numbered_arguments = {<br />
['máscaraautor#'] = true,<br />
['máscara-autor#'] = true, <br />
['apellidos#'] = true,<br />
['apellido#'] = true, -- Por apellido1<br />
['apellido-editor#'] = true, <br />
['apellidos-editor#']= true, <br />
['autor#'] = true,<br />
['editor#'] = true, <br />
['enlaceautor#'] = true,<br />
['enlace-autor#'] = true, <br />
['enlace-editor#'] = true, <br />
['nombre#'] = true,<br />
['nombre-editor#'] = true,<br />
['nombres#'] = true,<br />
<br />
-- Parámetros en inglés<br />
['author#'] = true,<br />
['Author#'] = true,<br />
['author-first#'] = true,<br />
['author#-first'] = true,<br />
['author-last#'] = true,<br />
['author#-last'] = true,<br />
['author-link#'] = true,<br />
['author#link'] = true,<br />
['author#-link'] = true,<br />
['authorlink#'] = true,<br />
['author-mask#'] = true,<br />
['author#mask'] = true,<br />
['author#-mask'] = true,<br />
['authormask#'] = true,<br />
['authors#'] = true,<br />
['Editor#'] = true,<br />
['editor-first#'] = true,<br />
['editor#-first'] = true,<br />
['editor-given#'] = true,<br />
['EditorGiven#'] = true,<br />
['editor-last#'] = true,<br />
['editor#-last'] = true,<br />
['editor-link#'] = true,<br />
['editor#link'] = true,<br />
['editor#-link'] = true,<br />
['editorlink#'] = true,<br />
['editor-mask#'] = true,<br />
['editor#mask'] = true,<br />
['editor#-mask'] = true,<br />
['editormask#'] = true,<br />
['editors#'] = true,<br />
['editor-surname#'] = true,<br />
['EditorSurname#'] = true,<br />
['first#'] = true,<br />
['given#'] = true,<br />
['last#'] = true,<br />
['subject#'] = true,<br />
['subjectlink#'] = true,<br />
['surname#'] = true,<br />
},<br />
};<br />
<br />
return whitelist;</div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Citas/Configuraci%C3%B3n/doc&diff=5915Módulo:Citas/Configuración/doc2024-03-03T23:48:02Z<p>Miguel: Creación de «Módulo:Citas/Configuración/doc»</p>
<hr />
<div>=== Uso ===<br />
{{en desarrollo}}<br />
<includeonly><br />
<!-- Coloca las categorías del módulo a continuación y los interwikis en Wikidata --><br />
</includeonly></div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Citas/Configuraci%C3%B3n&diff=5914Módulo:Citas/Configuración2024-03-03T23:47:17Z<p>Miguel: Creación de «Módulo:Citas/Configuración»</p>
<hr />
<div>citation_config = {};<br />
<br />
--[[<br />
List of namespaces that should not be included in citation<br />
error categories. Same as setting notracking = true by default<br />
<br />
Note: Namespace names should use underscores instead of spaces.de<br />
<br />
citation_config.uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk',<br />
'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk', <br />
'Module_talk', 'MediaWiki_talk' };<br />
]]<br />
citation_config.uncategorized_namespaces = { 'Usuario', 'Usuaria', 'Discusión', 'Usuario_discusión', 'Usuario_Discusión','Usuaria_Discusión', 'Usuaria_discusión', 'Wikipedia_discusión', 'Archivo_discusión', <br />
'Plantilla_discusión', 'Ayuda_discusión', 'Categoría_discusión', 'Portal_Discusión', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk', <br />
'Módulo_discusión', 'MediaWiki_discusión', 'Wikipedia', 'Wikiproyecto', 'Wikiproyecto_discusión' };<br />
<br />
--[[<br />
Translation table<br />
<br />
The following contains fixed text that may be output as part of a citation.<br />
This is separated from the main body to aid in future translations of this<br />
module.<br />
]]</div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Citas/doc&diff=5913Módulo:Citas/doc2024-03-03T23:40:46Z<p>Miguel: Creación de «Módulo:Citas/doc»</p>
<hr />
<div>=== Uso ===<br />
Este módulo permite generar citas de [[plantilla:cita libro|libros]], [[plantilla:cita noticia|noticias]], [[Plantilla:Cita notas audiovisual|notas de álbumes y DVD]], etc.<br />
<br />
;Módulos auxiliares<br />
* [[:Módulo:Citas/Configuración]]<br />
* [[:Módulo:Citas/Whitelist]]<br />
* [[:Módulo:Citas/ValidaciónFechas]] (no llamado de momento)<br />
* [[:Módulo:Citas/Sugerencias]]<br />
<br />
;Funciones<br />
<br />
<includeonly><br />
<!-- Coloca las categorías del módulo a continuación y los interwikis en Wikidata --><br />
[[Categoría:ProleWiki:Módulos]]<br />
</includeonly></div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Citas&diff=5912Módulo:Citas2024-03-03T23:39:40Z<p>Miguel: Creación de «Módulo:Citas»</p>
<hr />
<div>local z = {<br />
error_categories = {};<br />
error_ids = {};<br />
message_tail = {};<br />
}<br />
-- Include translation message hooks, ID and error handling configuration settings.<br />
--local cfg = mw.loadData( 'Mdódulo:Citas/Configuración/pruebas' );<br />
<br />
-- Contains a list of all recognized parameters<br />
--local whitelist = mw.loadData( 'Módulo:Citas/Whitelist/pruebas' );<br />
--local dates = require('Módulo:Citas/ValidaciónFechas/pruebas').dates -- location of date validation code<br />
<br />
--Módulo para formatear las fechas<br />
local DateModule = require('Módulo:Date')._Date <br />
<br />
-- Whether variable is set or not<br />
function is_set( var )<br />
return not (var == nil or var == '');<br />
end<br />
<br />
-- First set variable or nil if none<br />
function first_set(...)<br />
local list = {...};<br />
for _, var in pairs(list) do<br />
if is_set( var ) then<br />
return var;<br />
end<br />
end<br />
end<br />
<br />
-- Whether needle is in haystack<br />
function inArray( needle, haystack )<br />
if needle == nil then<br />
return false;<br />
end<br />
for n,v in ipairs( haystack ) do<br />
if v == needle then<br />
return n;<br />
end<br />
end<br />
return false;<br />
end<br />
<br />
--[[<br />
Formatea una fecha para que se devuelva de la siguiente forma: "1 de enero de 2020"<br />
Formats a date so it is returned as follows: "1 de enero de 2020"<br />
]]<br />
<br />
function format_date(date_string)<br />
function dateFormatter(text)<br />
return DateModule(text):text('%-d de %B de %-Y')<br />
end<br />
<br />
local stat, res = pcall(dateFormatter, date_string)<br />
<br />
if stat then<br />
return res<br />
else<br />
return date_string<br />
end<br />
end<br />
<br />
--[[<br />
Categorize and emit an error message when the citation contains one or more deprecated parameters. Because deprecated parameters (currently |day=, |month=,<br />
|coauthor=, and |coauthors=) aren't related to each other and because these parameters may be concatenated into the variables used by |date= and |author#= (and aliases)<br />
details of which parameter caused the error message are not provided. Only one error message is emitted regarless of the number of deprecated parameters in the citation.<br />
]]<br />
function deprecated_parameter( name )<br />
-- table.insert( z.message_tail, { seterror( 'deprecated_params', {error_message}, true ) } ); -- add error message<br />
table.insert( z.message_tail, { seterror( 'deprecated_params', { name }, true ) } ); -- add error message<br />
end<br />
<br />
-- Populates numbered arguments in a message string using an argument table.<br />
function substitute( msg, args )<br />
-- return args and tostring( mw.message.newRawMessage( msg, args ) ) or msg;<br />
return args and mw.message.newRawMessage( msg, args ):plain() or msg;<br />
end<br />
<br />
--[[<br />
Apply kerning to open the space between the quote mark provided by the Module and a leading or trailing quote mark contained in a |title= or |chapter= parameter's value.<br />
This function will positive kern either single or double quotes:<br />
"'Unkerned title with leading and trailing single quote marks'"<br />
" 'Kerned title with leading and trailing single quote marks' " (in real life the kerning isn't as wide as this example)<br />
]]<br />
function kern_quotes (str)<br />
local left='<span style="padding-left:0.2em;">%1</span>'; -- spacing to use when title contains leading single or double quote mark<br />
local right='<span style="padding-right:0.2em;">%1</span>'; -- spacing to use when title contains trailing single or double quote mark<br />
<br />
if str:match ("^[\"\'][^\']") then<br />
str = string.gsub( str, "^[\"\']", left, 1 ); -- replace (captured) leading single or double quote with left-side <span><br />
end<br />
if str:match ("[^\'][\"\']$") then<br />
str = string.gsub( str, "[\"\']$", right, 1 ); -- replace (captured) trailing single or double quote with right-side <span><br />
end<br />
return str;<br />
end<br />
<br />
-- Wraps a string using a message_list configuration taking one argument<br />
function wrap( key, str, lower )<br />
if not is_set( str ) then<br />
return "";<br />
elseif inArray( key, { 'italic-title', 'trans-italic-title' } ) then<br />
str = safeforitalics( str );<br />
end<br />
if lower == true then<br />
return substitute( cfg.messages[key]:lower(), {str} );<br />
else<br />
return substitute( cfg.messages[key], {str} );<br />
end <br />
end<br />
<br />
--[[<br />
Argument wrapper. This function provides support for argument <br />
mapping defined in the configuration file so that multiple names<br />
can be transparently aliased to single internal variable.<br />
]]<br />
function argument_wrapper( args )<br />
local origin = {};<br />
<br />
return setmetatable({<br />
ORIGIN = function( self, k )<br />
local dummy = self[k]; --force the variable to be loaded.<br />
return origin[k];<br />
end<br />
},<br />
{<br />
__index = function ( tbl, k )<br />
if origin[k] ~= nil then<br />
return nil;<br />
end<br />
<br />
local args, list, v = args, cfg.aliases[k];<br />
<br />
if type( list ) == 'table' then<br />
v, origin[k] = selectone( args, list, 'redundant_parameters' );<br />
if origin[k] == nil then<br />
origin[k] = ''; -- Empty string, not nil<br />
end<br />
elseif list ~= nil then<br />
v, origin[k] = args[list], list;<br />
else<br />
-- maybe let through instead of raising an error?<br />
-- v, origin[k] = args[k], k;<br />
error( cfg.messages['unknown_argument_map'] );<br />
end<br />
<br />
-- Empty strings, not nil;<br />
if v == nil then<br />
v = cfg.defaults[k] or '';<br />
origin[k] = '';<br />
end<br />
<br />
tbl = rawset( tbl, k, v );<br />
return v;<br />
end,<br />
});<br />
end<br />
<br />
--[[<br />
Looks for a parameter's name in the whitelist.<br />
<br />
Parameters in the whitelist can have three values:<br />
true - active, supported parameters<br />
false - deprecated, supported parameters<br />
nil - unsupported parameters<br />
]]<br />
function validate( name )<br />
local name = tostring( name );<br />
local state = whitelist.basic_arguments[ name ];<br />
<br />
-- Normal arguments<br />
if true == state then return true; end -- valid actively supported parameter<br />
if false == state then<br />
deprecated_parameter ( name ); -- parameter is deprecated but still supported<br />
return true;<br />
end<br />
<br />
-- Arguments with numbers in them<br />
name = name:gsub( "%d+", "#" ); -- replace digit(s) with # (last25 becomes last#<br />
state = whitelist.numbered_arguments[ name ];<br />
if true == state then return true; end -- valid actively supported parameter<br />
if false == state then<br />
deprecated_parameter ( name ); -- parameter is deprecated but still supported<br />
return true;<br />
end<br />
<br />
return false; -- Not supported because not found or name is set to nil<br />
end<br />
<br />
-- Formats a comment for error trapping<br />
function errorcomment( content, hidden )<br />
return wrap( hidden and 'hidden-error' or 'visible-error', content );<br />
end<br />
<br />
--[[<br />
Sets an error condition and returns the appropriate error message. The actual placement<br />
of the error message in the output is the responsibility of the calling function.<br />
]]<br />
function seterror( error_id, arguments, raw, prefix, suffix )<br />
local error_state = cfg.error_conditions[ error_id ];<br />
<br />
prefix = prefix or "";<br />
suffix = suffix or "";<br />
<br />
if error_state == nil then<br />
error( cfg.messages['undefined_error'] );<br />
elseif is_set( error_state.category ) then<br />
table.insert( z.error_categories, error_state.category );<br />
end<br />
<br />
local message = substitute( error_state.message, arguments );<br />
<br />
message = message .. " ([[" .. cfg.messages['help page link'] .. <br />
"#" .. error_state.anchor .. "|" ..<br />
cfg.messages['help page label'] .. "]])";<br />
<br />
z.error_ids[ error_id ] = true;<br />
if inArray( error_id, { 'bare_url_missing_title', 'trans_missing_title' } )<br />
and z.error_ids['citation_missing_title'] then<br />
return '', false;<br />
end<br />
<br />
message = table.concat({ prefix, message, suffix });<br />
<br />
if raw == true then<br />
return message, error_state.hidden;<br />
end <br />
<br />
return errorcomment( message, error_state.hidden );<br />
end<br />
<br />
-- Formats a wiki style external link<br />
function externallinkid(options)<br />
local url_string = options.id;<br />
if options.encode == true or options.encode == nil then<br />
url_string = mw.uri.encode( url_string );<br />
end<br />
return wrap( 'id', internallink(options.link, options.label) ..<br />
(options.separator or "&nbsp;") .. mw.ustring.format( '[%s%s%s %s]', <br />
options.prefix, url_string, options.suffix or "",<br />
mw.text.nowiki(options.id)<br />
));<br />
end<br />
<br />
-- Formats a wiki style internal link<br />
function internallinkid(options)<br />
return wrap( 'id', internallink(options.link, options.label) ..<br />
(options.separator or "&nbsp;") .. mw.ustring.format( '[[%s%s%s|%s]]',<br />
options.prefix, options.id, options.suffix or "",<br />
mw.text.nowiki(options.id)<br />
));<br />
end<br />
<br />
-- Format an internal link, if link is really set<br />
function internallink( link, label )<br />
if link and link ~= '' then<br />
return mw.ustring.format( '[[%s|%s]]', link, label )<br />
else<br />
return label<br />
end<br />
end<br />
<br />
-- Format an external link with error checking<br />
function externallink( URL, label, source )<br />
local error_str = "";<br />
if not is_set( label ) then<br />
label = URL;<br />
if is_set( source ) then<br />
error_str = seterror( 'bare_url_missing_title', { wrap( 'parameter', source ) }, false, " " );<br />
else<br />
error( cfg.messages["bare_url_no_origin"] );<br />
end<br />
end<br />
if not checkurl( URL ) then<br />
error_str = seterror( 'bad_url', {}, false, " " ) .. error_str;<br />
elseif mw.title.getCurrentTitle():inNamespaces(0, 100, 104) and<br />
not mw.title.getCurrentTitle().text:match('Wikipedia') and<br />
URL:match('//[%a%.%-]+%.wikipedia%.org') then<br />
error_str = seterror( 'bad_url_autorreferencia', {}, false, " " ) .. error_str;<br />
end<br />
return table.concat({ "[", URL, " ", safeforurl( label ), "]", error_str });<br />
end<br />
--[[--------------------------< N O R M A L I Z E _ L C C N >--------------------------------------------------<br />
<br />
lccn normalization (http://www.loc.gov/marc/lccn-namespace.html#normalization)<br />
1. Remove all blanks.<br />
2. If there is a forward slash (/) in the string, remove it, and remove all characters to the right of the forward slash.<br />
3. If there is a hyphen in the string:<br />
a. Remove it.<br />
b. Inspect the substring following (to the right of) the (removed) hyphen. Then (and assuming that steps 1 and 2 have been carried out):<br />
1. All these characters should be digits, and there should be six or less. (not done in this function)<br />
2. If the length of the substring is less than 6, left-fill the substring with zeroes until the length is six.<br />
<br />
Returns a normalized lccn for lccn() to validate. There is no error checking (step 3.b.1) performed in this function.<br />
]]<br />
<br />
local function normalize_lccn (lccn)<br />
lccn = lccn:gsub ("%s", ""); -- 1. strip whitespace<br />
<br />
if nil ~= string.find (lccn,'/') then<br />
lccn = lccn:match ("(.-)/"); -- 2. remove forward slash and all character to the right of it<br />
end<br />
<br />
local prefix<br />
local suffix<br />
prefix, suffix = lccn:match ("(.+)%-(.+)"); -- 3.a remove hyphen by splitting the string into prefix and suffix<br />
<br />
if nil ~= suffix then -- if there was a hyphen<br />
suffix=string.rep("0", 6-string.len (suffix)) .. suffix; -- 3.b.2 left fill the suffix with 0s if suffix length less than 6<br />
lccn=prefix..suffix; -- reassemble the lccn<br />
end<br />
<br />
return lccn;<br />
end<br />
--[[<br />
Format LCCN link and do simple error checking. LCCN is a character string 8-12 characters long. The length of the LCCN dictates the character type of the first 1-3 characters; the<br />
rightmost eight are always digits. http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:lccn/<br />
<br />
length = 8 then all digits<br />
length = 9 then lccn[1] is alpha<br />
length = 10 then lccn[1] and lccn[2] are both alpha or both digits<br />
length = 11 then lccn[1] is alpha, lccn[2] and lccn[3] are both alpha or both digits<br />
length = 12 then lccn[1] and lccn[2] are both alpha<br />
<br />
]]<br />
function lccn(id)<br />
local handler = cfg.id_handlers['LCCN'];<br />
local err_cat = ''; -- presume that LCCN is valid<br />
<br />
id = normalize_lccn (id);<br />
<br />
local len = id:len(); -- get the length of the lccn<br />
<br />
if 8 == len then<br />
if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits)<br />
err_cat = ' ' .. seterror( 'bad_lccn' ); -- set an error message<br />
end<br />
elseif 9 == len then -- LCCN should be adddddddd<br />
if nil == id:match("%a%d%d%d%d%d%d%d%d") then -- does it match our pattern?<br />
err_cat = ' ' .. seterror( 'bad_lccn' ); -- set an error message<br />
end<br />
elseif 10 == len then -- LCCN should be aadddddddd or dddddddddd<br />
if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits) ...<br />
if nil == id:match("^%a%a%d%d%d%d%d%d%d%d") then -- ... see if it matches our pattern<br />
err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message<br />
end<br />
end<br />
elseif 11 == len then -- LCCN should be aaadddddddd or adddddddddd<br />
if not (id:match("^%a%a%a%d%d%d%d%d%d%d%d") or id:match("^%a%d%d%d%d%d%d%d%d%d%d")) then -- see if it matches one of our patterns<br />
err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message<br />
end<br />
elseif 12 == len then -- LCCN should be aadddddddddd<br />
if not id:match("^%a%a%d%d%d%d%d%d%d%d%d%d") then -- see if it matches our pattern<br />
err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message<br />
end<br />
else<br />
err_cat = ' ' .. seterror( 'bad_lccn' ); -- wrong length, set an error message<br />
end<br />
<br />
return externallinkid({link = handler.link, label = handler.label,<br />
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat;<br />
end<br />
<br />
--[[<br />
Format PMID and do simple error checking. PMIDs are sequential numbers beginning at 1 and counting up. This code checks the PMID to see that it<br />
contains only digits and is less than test_limit; the value in local variable test_limit will need to be updated periodically as more PMIDs are issued.<br />
]]<br />
function pmid(id)<br />
local test_limit = 45000000; -- update this value as PMIDs approach<br />
local handler = cfg.id_handlers['PMID'];<br />
local err_cat = ''; -- presume that PMID is valid<br />
<br />
if id:match("[^%d]") then -- if PMID has anything but digits<br />
err_cat = ' ' .. seterror( 'bad_pmid' ); -- set an error message<br />
else -- PMID is only digits<br />
local id_num = tonumber(id); -- convert id to a number for range testing<br />
if 1 > id_num or test_limit < id_num then -- if PMID is outside test limit boundaries<br />
err_cat = ' ' .. seterror( 'bad_pmid' ); -- set an error message<br />
end<br />
end<br />
<br />
return externallinkid({link = handler.link, label = handler.label,<br />
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat;<br />
end<br />
<br />
--[[<br />
Determines if a PMC identifier's online version is embargoed. Compares the date in |embargo= against today's date. If embargo date is<br />
in the future, returns true; otherwse, returns false because the embargo has expired or |embargo= not set in this cite.<br />
]]<br />
function is_embargoed(embargo)<br />
if is_set(embargo) then<br />
local lang = mw.getContentLanguage();<br />
local good1, embargo_date, good2, todays_date;<br />
good1, embargo_date = pcall( lang.formatDate, lang, 'U', embargo );<br />
good2, todays_date = pcall( lang.formatDate, lang, 'U' );<br />
<br />
if good1 and good2 and tonumber( embargo_date ) >= tonumber( todays_date ) then --is embargo date is in the future?<br />
return true; -- still embargoed<br />
end<br />
end<br />
return false; -- embargo expired or |embargo= not set<br />
end<br />
<br />
--[[<br />
Format a PMC, do simple error checking, and check for embargoed articles.<br />
<br />
The embargo parameter takes a date for a value. If the embargo date is in the future<br />
the PMC identifier will not be linked to the article. If the embargo specifies a date in the past, or if it is empty or omitted, then<br />
the PMC identifier is linked to the article through the link at cfg.id_handlers['PMC'].prefix.<br />
<br />
PMCs are sequential numbers beginning at 1 and counting up. This code checks the PMC to see that it contains only digits and is less<br />
than test_limit; the value in local variable test_limit will need to be updated periodically as more PMCs are issued.<br />
]]<br />
function pmc(id, embargo)<br />
local test_limit = 12000000; -- update this value as PMCs approach<br />
local handler = cfg.id_handlers['PMC'];<br />
local err_cat = ''; -- presume that PMC is valid<br />
<br />
local text;<br />
<br />
if id:match("^PMC%d") then<br />
id = id:sub(4, j) -- remove 'PMC' preffix if given<br />
end<br />
if id:match("[^%d]") then -- if PMC has anything but digits<br />
err_cat = ' ' .. seterror( 'bad_pmc' ); -- set an error message<br />
else -- PMC is only digits<br />
local id_num = tonumber(id); -- convert id to a number for range testing<br />
if 1 > id_num or test_limit < id_num then -- if PMC is outside test limit boundaries<br />
err_cat = ' ' .. seterror( 'bad_pmc' ); -- set an error message<br />
end<br />
end<br />
<br />
if is_embargoed(embargo) then<br />
text="[[" .. handler.link .. "|" .. handler.label .. "]]:" .. handler.separator .. id .. err_cat; --still embargoed so no external link<br />
else<br />
text = externallinkid({link = handler.link, label = handler.label, --no embargo date, ok to link to article<br />
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat;<br />
end<br />
return text;<br />
end<br />
<br />
-- Formats a DOI and checks for DOI errors.<br />
<br />
-- DOI names contain two parts: prefix and suffix separated by a forward slash.<br />
-- Prefix: directory indicator '10.' followed by a registrant code<br />
-- Suffix: character string of any length chosen by the registrant<br />
<br />
-- This function checks a DOI name for: prefix/suffix. If the doi name contains spaces or endashes,<br />
-- or, if it ends with a period or a comma, this function will emit a bad_doi error message.<br />
<br />
-- DOI names are case-insensitive and can incorporate any printable Unicode characters so the test for spaces, endash,<br />
-- and terminal punctuation may not be technically correct but it appears, that in practice these characters are rarely if ever used in doi names.<br />
<br />
function doi(id, inactive)<br />
local cat = ""<br />
local handler = cfg.id_handlers['DOI'];<br />
<br />
local text;<br />
if is_set(inactive) then<br />
local inactive_year = inactive:match("%d%d%d%d") or ''; -- try to get the year portion from the inactive date<br />
text = "[[" .. handler.link .. "|" .. handler.label .. "]]:" .. id;<br />
if is_set(inactive_year) then<br />
table.insert( z.error_categories, "Wikipedia:Páginas con DOI inactivos desde " .. inactive_year );<br />
else<br />
table.insert( z.error_categories, "Wikipedia:Páginas con DOI inactivos" ); -- when inactive doesn't contain a recognizable year<br />
end<br />
inactive = " (" .. cfg.messages['inactive'] .. " " .. inactive .. ")" <br />
else <br />
text = externallinkid({link = handler.link, label = handler.label,<br />
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode})<br />
inactive = "" <br />
end<br />
<br />
if nil == id:match("^10%.[^%s–]-/[^%s–]-[^%.,]$") then -- doi must begin with '10.', must contain a fwd slash, must not contain spaces or endashes, and must not end with period or comma<br />
cat = ' ' .. seterror( 'bad_doi' );<br />
end<br />
return text .. inactive .. cat <br />
end<br />
<br />
-- Formats an OpenLibrary link, and checks for associated errors.<br />
function openlibrary(id)<br />
local code = id:sub(-1,-1)<br />
local handler = cfg.id_handlers['OL'];<br />
if ( code == "A" ) then<br />
return externallinkid({link=handler.link, label=handler.label,<br />
prefix="http://openlibrary.org/authors/OL",id=id, separator=handler.separator,<br />
encode = handler.encode})<br />
elseif ( code == "M" ) then<br />
return externallinkid({link=handler.link, label=handler.label,<br />
prefix="http://openlibrary.org/books/OL",id=id, separator=handler.separator,<br />
encode = handler.encode})<br />
elseif ( code == "W" ) then<br />
return externallinkid({link=handler.link, label=handler.label,<br />
prefix= "http://openlibrary.org/works/OL",id=id, separator=handler.separator,<br />
encode = handler.encode})<br />
else<br />
return externallinkid({link=handler.link, label=handler.label,<br />
prefix= "http://openlibrary.org/OL",id=id, separator=handler.separator,<br />
encode = handler.encode}) .. <br />
' ' .. seterror( 'bad_ol' );<br />
end<br />
end<br />
<br />
--[[<br />
Validate and format an issn. This code fixes the case where an editor has included an ISSN in the citation but has separated the two groups of four<br />
digits with a space. When that condition occurred, the resulting link looked like this:<br />
<br />
|issn=0819 4327 gives: [http://www.worldcat.org/issn/0819 4327 0819 4327] -- can't have spaces in an external link<br />
<br />
This code now prevents that by inserting a hyphen at the issn midpoint. It also validates the issn for length and makes sure that the checkdigit agrees<br />
with the calculated value. Incorrect length (8 digits), characters other than 0-9 and X, or checkdigit / calculated value mismatch will all cause a check issn<br />
error message. The issn is always displayed with a hyphen, even if the issn was given as a single group of 8 digits.<br />
]]<br />
function issn(id)<br />
local ModuloIdentificadores = require('Módulo:Identificadores') <br />
local issn_copy = id; -- save a copy of unadulterated issn; use this version for display if issn does not validate<br />
local handler = cfg.id_handlers['ISSN'];<br />
local text;<br />
local valid_issn = true;<br />
<br />
id=id:gsub( "[%s-–]", "" ); -- strip spaces, hyphens, and ndashes from the issn<br />
<br />
if 8 ~= id:len() or nil == id:match( "^%d*X?$" ) then -- validate the issn: 8 didgits long, containing only 0-9 or X in the last position<br />
valid_issn=false; -- wrong length or improper character<br />
else<br />
valid_issn=ModuloIdentificadores.esValidoISXN(id, 8); -- validate issn<br />
end<br />
<br />
if true == valid_issn then<br />
id = string.sub( id, 1, 4 ) .. "-" .. string.sub( id, 5 ); -- if valid, display correctly formatted version<br />
else<br />
id = issn_copy; -- if not valid, use the show the invalid issn with error message<br />
end<br />
<br />
text = externallinkid({link = handler.link, label = handler.label,<br />
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode})<br />
<br />
if false == valid_issn then<br />
text = text .. ' ' .. seterror( 'bad_issn' ) -- add an error message if the issn is invalid<br />
end <br />
<br />
return text<br />
end<br />
<br />
--[[<br />
This function sets default title types (equivalent to the citation including |type=<default value>) for those citations that have defaults.<br />
Also handles the special case where it is desireable to omit the title type from the rendered citation (|type=none).<br />
]]<br />
function set_titletype(cite_class, title_type)<br />
if is_set(title_type) then<br />
if "none" == title_type then<br />
title_type = ""; -- if |type=none then type parameter not displayed<br />
end<br />
return title_type; -- if |type= has been set to any other value use that value<br />
end<br />
<br />
-- if "AV media notes" == cite_class or "DVD notes" == cite_class then -- if this citation is cite AV media notes or cite DVD notes<br />
if "notas audiovisual" == cite_class or "notas de DVD" == cite_class then -- if this citation is cite AV media notes or cite DVD notes <br />
return "Media notes"; -- display AV media notes / DVD media notes annotation -- Falta traducir<br />
<br />
elseif "podcast" == cite_class then -- if this citation is cite podcast<br />
return "Podcast"; -- display podcast annotation<br />
<br />
elseif "pressrelease" == cite_class then -- if this citation is cite press release<br />
return "Press release"; -- display press release annotation<br />
<br />
elseif "techreport" == cite_class then -- if this citation is cite techreport<br />
return "Technical report"; -- display techreport annotation<br />
<br />
elseif "tesis" == cite_class then -- if this citation is cite thesis (degree option handled after this function returns)<br />
return "Tesis"; -- display simple thesis annotation (without |degree= modification) <br />
end<br />
end<br />
<br />
--[[<br />
Determines whether a URL string is valid<br />
<br />
At present the only check is whether the string appears to <br />
be prefixed with a URI scheme. It is not determined whether <br />
the URI scheme is valid or whether the URL is otherwise well <br />
formed.<br />
]]<br />
function checkurl( url_str )<br />
-- Protocol-relative or URL scheme<br />
return url_str:sub(1,2) == "//" or url_str:match( "^[^/]*:" ) ~= nil;<br />
end<br />
<br />
-- Removes irrelevant text and dashes from ISBN number<br />
-- Similar to that used for Special:BookSources<br />
function cleanisbn( isbn_str )<br />
return isbn_str:gsub( "[^-0-9X]", "" );<br />
end<br />
<br />
-- Extract page numbers from external wikilinks in any of the |page=, |pages=, or |at= parameters for use in COinS.<br />
function get_coins_pages (pages)<br />
if not is_set (pages) then return pages; end -- if no page numbers then we're done<br />
<br />
while true do<br />
pattern = pages:match("%[([%w/:\.]+%s+)[%w%d].*%]"); -- pattern is the opening bracket, the url and following space(s): "[url "<br />
if nil == pattern then break; end -- no more urls<br />
pages = pages:gsub(pattern, ""); -- remove as many instances of pattern as possible<br />
end<br />
pages = pages:gsub("[%[%]]", ""); -- remove the brackets<br />
pages = pages:gsub("–", "-" ); -- replace endashes with hyphens<br />
pages = pages:gsub("&%w+;", "-" ); -- and replace html entities (&ndash; etc) with hyphens; do we need to replace numerical entities like &#32; and the like?<br />
return pages;<br />
end<br />
<br />
-- Gets the display text for a wikilink like [[A|B]] or [[B]] gives B<br />
function removewikilink( str )<br />
return (str:gsub( "%[%[([^%[%]]*)%]%]", function(l)<br />
return l:gsub( "^[^|]*|(.*)$", "%1" ):gsub("^%s*(.-)%s*$", "%1");<br />
end));<br />
end<br />
<br />
-- Escape sequences for content that will be used for URL descriptions<br />
function safeforurl( str )<br />
if str:match( "%[%[.-%]%]" ) ~= nil then <br />
table.insert( z.message_tail, { seterror( 'wikilink_in_url', {}, true ) } );<br />
end<br />
<br />
return str:gsub( '[%[%]\n]', { <br />
['['] = '&#91;',<br />
[']'] = '&#93;',<br />
['\n'] = ' ' } );<br />
end<br />
<br />
-- Convierte un guión largo (signo de negativo) en un guión corto.<br />
function dashtohyphen( str )<br />
if not is_set(str) or str:match( "[%[%]{}<>]" ) ~= nil then<br />
return str;<br />
end <br />
return str:gsub( '–', '-' );<br />
end<br />
<br />
-- Protects a string that will be wrapped in wiki italic markup '' ... ''<br />
function safeforitalics( str )<br />
--[[ Note: We can not use <i> for italics, as the expected behavior for<br />
italics specified by ''...'' in the title is that they will be inverted<br />
(i.e. unitalicized) in the resulting references. In addition, <i> and ''<br />
tend to interact poorly under Mediawiki's HTML tidy. ]]<br />
<br />
if not is_set(str) then<br />
return str;<br />
else<br />
if str:sub(1,1) == "'" then str = "<span></span>" .. str; end<br />
if str:sub(-1,-1) == "'" then str = str .. "<span></span>"; end<br />
<br />
-- Remove newlines as they break italics.<br />
return str:gsub( '\n', ' ' );<br />
end<br />
end<br />
<br />
--[[<br />
Joins a sequence of strings together while checking for duplicate separation<br />
characters.<br />
]]<br />
function safejoin( tbl, duplicate_char )<br />
--[[<br />
Note: we use string functions here, rather than ustring functions.<br />
<br />
This has considerably faster performance and should work correctly as <br />
long as the duplicate_char is strict ASCII. The strings<br />
in tbl may be ASCII or UTF8.<br />
]]<br />
<br />
local str = '';<br />
local comp = '';<br />
local end_chr = '';<br />
local trim;<br />
for _, value in ipairs( tbl ) do<br />
if value == nil then value = ''; end<br />
<br />
if str == '' then<br />
str = value;<br />
elseif value ~= '' then<br />
if value:sub(1,1) == '<' then<br />
-- Special case of values enclosed in spans and other markup.<br />
comp = value:gsub( "%b<>", "" );<br />
else<br />
comp = value;<br />
end<br />
<br />
if comp:sub(1,1) == duplicate_char then<br />
trim = false;<br />
end_chr = str:sub(-1,-1);<br />
-- str = str .. "<HERE(enchr=" .. end_chr.. ")"<br />
if end_chr == duplicate_char then<br />
str = str:sub(1,-2);<br />
elseif end_chr == "'" then<br />
if str:sub(-3,-1) == duplicate_char .. "''" then<br />
str = str:sub(1, -4) .. "''";<br />
elseif str:sub(-5,-1) == duplicate_char .. "]]''" then<br />
trim = true;<br />
elseif str:sub(-4,-1) == duplicate_char .. "]''" then<br />
trim = true;<br />
end<br />
elseif end_chr == "]" then<br />
if str:sub(-3,-1) == duplicate_char .. "]]" then<br />
trim = true;<br />
elseif str:sub(-2,-1) == duplicate_char .. "]" then<br />
trim = true;<br />
end<br />
elseif end_chr == " " then<br />
if str:sub(-2,-1) == duplicate_char .. " " then<br />
str = str:sub(1,-3);<br />
end<br />
end<br />
<br />
if trim then<br />
if value ~= comp then <br />
local dup2 = duplicate_char;<br />
if dup2:match( "%A" ) then dup2 = "%" .. dup2; end<br />
<br />
value = value:gsub( "(%b<>)" .. dup2, "%1", 1 )<br />
else<br />
value = value:sub( 2, -1 );<br />
end<br />
end<br />
end<br />
str = str .. value;<br />
end<br />
end<br />
return str;<br />
end <br />
<br />
-- Attempts to convert names to initials.<br />
function reducetoinitials(first)<br />
local initials = {}<br />
for word in string.gmatch(first, "%S+") do<br />
table.insert(initials, string.sub(word,1,1)) -- Vancouver format does not include full stops.<br />
end<br />
return table.concat(initials) -- Vancouver format does not include spaces.<br />
end<br />
<br />
-- Formats a list of people (e.g. authors / editors) <br />
function listpeople(control, people)<br />
local sep = control.sep;<br />
local namesep = control.namesep<br />
local format = control.format<br />
local maximum = control.maximum<br />
local lastauthoramp = control.lastauthoramp;<br />
local text = {}<br />
local etal = false;<br />
<br />
if sep:sub(-1,-1) ~= " " then sep = sep .. " " end<br />
if maximum ~= nil and maximum < 1 then return "", 0; end<br />
<br />
for i,person in ipairs(people) do<br />
if is_set(person.last) then<br />
local mask = person.mask<br />
local one<br />
local sep_one = sep;<br />
if maximum ~= nil and i > maximum then<br />
etal = true;<br />
break;<br />
elseif (mask ~= nil) then<br />
local n = tonumber(mask)<br />
if (n ~= nil) then<br />
one = string.rep("&mdash;",n)<br />
else<br />
one = mask;<br />
sep_one = " ";<br />
end<br />
else<br />
one = person.last<br />
local first = person.first<br />
if is_set(first) then <br />
if ( "vanc" == format ) then first = reducetoinitials(first) end<br />
one = one .. namesep .. first <br />
end<br />
if is_set(person.link) then one = "[[" .. person.link .. "|" .. one .. "]]" end<br />
if is_set(person.link) and nil ~= person.link:find("//") then one = one .. " " .. seterror( 'bad_authorlink' ) end -- check for url in author link;<br />
end<br />
table.insert( text, one )<br />
table.insert( text, sep_one )<br />
end<br />
end<br />
<br />
local count = #text / 2;<br />
if count > 0 then <br />
if count > 1 and is_set(lastauthoramp) and not etal then<br />
text[#text-2] = " & ";<br />
end<br />
text[#text] = nil; <br />
end<br />
<br />
local result = table.concat(text) -- construct list<br />
if etal then <br />
local etal_text = cfg.messages['et al'];<br />
result = result .. " " .. etal_text;<br />
end<br />
<br />
-- if necessary wrap result in <span> tag to format in Small Caps<br />
if ( "scap" == format ) then result = <br />
'<span class="smallcaps" style="font-variant:small-caps">' .. result .. '</span>';<br />
end <br />
return result, count<br />
end<br />
<br />
-- Generates a CITEREF anchor ID.<br />
function anchorid( options )<br />
return "CITAREF" .. table.concat( options ); --return "CITEREF" .. table.concat( options );<br />
end<br />
<br />
-- Gets name list from the input arguments<br />
function extractnames(args, list_name)<br />
local names = {};<br />
local i = 1;<br />
local last;<br />
<br />
while true do<br />
last = selectone( args, cfg.aliases[list_name .. '-Last'], 'redundant_parameters', i );<br />
if not is_set(last) then<br />
-- just in case someone passed in an empty parameter<br />
break;<br />
end<br />
names[i] = {<br />
last = last,<br />
first = selectone( args, cfg.aliases[list_name .. '-First'], 'redundant_parameters', i ),<br />
link = selectone( args, cfg.aliases[list_name .. '-Link'], 'redundant_parameters', i ),<br />
mask = selectone( args, cfg.aliases[list_name .. '-Mask'], 'redundant_parameters', i )<br />
};<br />
i = i + 1;<br />
end<br />
return names;<br />
end<br />
<br />
-- Populates ID table from arguments using configuration settings<br />
function extractids( args )<br />
local id_list = {};<br />
for k, v in pairs( cfg.id_handlers ) do <br />
v = selectone( args, v.parameters, 'redundant_parameters' );<br />
if is_set(v) then id_list[k] = v; end<br />
end<br />
return id_list;<br />
end<br />
<br />
-- Takes a table of IDs and turns it into a table of formatted ID outputs.<br />
function buildidlist( id_list, options )<br />
local new_list, handler = {};<br />
<br />
function fallback(k) return { __index = function(t,i) return cfg.id_handlers[k][i] end } end;<br />
<br />
for k, v in pairs( id_list ) do<br />
-- fallback to read-only cfg<br />
handler = setmetatable( { ['id'] = v }, fallback(k) );<br />
<br />
if handler.mode == 'external' then<br />
table.insert( new_list, {handler.label, externallinkid( handler ) } );<br />
elseif handler.mode == 'internal' then<br />
table.insert( new_list, {handler.label, internallinkid( handler ) } );<br />
elseif handler.mode ~= 'manual' then<br />
error( cfg.messages['unknown_ID_mode'] );<br />
elseif k == 'DOI' then<br />
table.insert( new_list, {handler.label, doi( v, options.DoiBroken ) } );<br />
elseif k == 'LCCN' then<br />
table.insert( new_list, {handler.label, lccn( v ) } );<br />
elseif k == 'OL' then<br />
table.insert( new_list, {handler.label, openlibrary( v ) } );<br />
elseif k == 'PMC' then<br />
table.insert( new_list, {handler.label, pmc( v, options.Embargo ) } );<br />
elseif k == 'PMID' then<br />
table.insert( new_list, {handler.label, pmid( v ) } );<br />
elseif k == 'ISSN' then<br />
table.insert( new_list, {handler.label, issn( v:upper() ) } );<br />
elseif k == 'ISBN' then<br />
--local ISBN = internallinkid( handler );<br />
--if not checkisbn( v ) and not is_set(options.IgnoreISBN) then<br />
-- ISBN = ISBN .. seterror( 'bad_isbn', {}, false, " ", "" );<br />
--end <br />
local ISBN<br />
if options.ISBNCorrecto or options.ISBNSugerido or is_set(options.IgnoreISBN) then<br />
ISBN = internallinkid( handler );<br />
else -- ISBN incorrecto.<br />
ISBN = internallinkid( handler ) .. seterror( 'bad_isbn', {}, false, " ", "" );<br />
end<br />
<br />
table.insert( new_list, {handler.label, ISBN } ); <br />
else<br />
error( cfg.messages['unknown_manual_ID'] );<br />
end<br />
end<br />
<br />
function comp( a, b ) -- used in following table.sort()<br />
return a[1] < b[1];<br />
end<br />
<br />
table.sort( new_list, comp );<br />
for k, v in ipairs( new_list ) do<br />
new_list[k] = v[2];<br />
end<br />
<br />
return new_list;<br />
end<br />
<br />
function CorregirISBN(ISBNIncorrecto)<br />
local ModuloIdentificadores = require('Módulo:Identificadores') <br />
local ISBNCorregido<br />
<br />
-- Convertir mayúsculas <br />
ISBNCorregido = ISBNIncorrecto:upper()<br />
<br />
-- Corregir guiones<br />
ISBNCorregido = ISBNCorregido:gsub("%–","-");<br />
<br />
-- Eliminar ISBN del principio<br />
ISBNCorregido =ISBNCorregido:match("ISBN (.*)") or ISBNCorregido;<br />
<br />
-- Eliminar separadores como "." y "," del final<br />
ISBNCorregido = ISBNCorregido:gsub("[%.,]","");<br />
<br />
if ModuloIdentificadores.esValidoISBN(ISBNCorregido) then <br />
return ISBNCorregido<br />
end <br />
<br />
-- Ver si se trata de un ISBN de 13 <br />
local ISBNCorregidoSin978<br />
ISBNCorregidoSin978 = ISBNCorregido:match("^978[%s-]*(.*)")<br />
if ISBNCorregidoSin978 and ModuloIdentificadores.esValidoISBN(ISBNCorregidoSin978) then<br />
-- "978" + ISBN10<br />
return ISBNCorregidoSin978<br />
end<br />
<br />
-- ISBN de 13 al que se ha quitado 978 <br />
if ModuloIdentificadores.esValidoISBN('978'..ISBNCorregido) then <br />
if ISBNCorregido:match('-') then <br />
return '978-' .. ISBNCorregido<br />
elseif ISBNCorregido:match(' ') then <br />
return '978 ' .. ISBNCorregido<br />
else<br />
return '978' .. ISBNCorregido<br />
end<br />
end<br />
<br />
-- 13 ISBN o 13: ISBN<br />
local ISBNCorregidoSi13<br />
ISBNCorregidoSin13 = ISBNCorregido:match("^13:?[%s]+(.*)")<br />
if ISBNCorregidoSin13 and ModuloIdentificadores.esValidoISBN(ISBNCorregidoSin13) then <br />
return ISBNCorregidoSin13<br />
end<br />
end<br />
<br />
function CorregirISBNs(ISBNIncorrecto1, ISBNIncorrecto2)<br />
-- Tomar aquel de los dos ISBNs correctos si uno de ellos es un ISBN10 y el<br />
-- otro el correspondiente ISBN13<br />
<br />
local ISBN1Corregido = CorregirISBN(ISBNIncorrecto1)<br />
local ISBN2Corregido = CorregirISBN(ISBNIncorrecto2)<br />
<br />
if ISBN1Corregido and ISBN2Corregido then<br />
-- Ambos son correctos.<br />
if ISBN1Corregido == ISBN2Corregido then<br />
-- Ambos son iguales (tras corregirse)<br />
return ISBN1Corregido<br />
end<br />
<br />
-- Ver si uno de ellos es un ISBN10 y el otro un ISBN13 <br />
local ISBNSinDigitoControl<br />
ISBNSinDigitoControl = ISBN1Corregido:match("(.*).")<br />
if ISBNSinDigitoControl and ISBN2Corregido:match("978[%s-]*" .. ISBNSinDigitoControl) then<br />
return ISBN2Corregido<br />
end<br />
<br />
ISBNSinDigitoControl = ISBN2Corregido:match("(.*).")<br />
if ISBNSinDigitoControl and ISBN1Corregido:match("978[%s-]*" .. ISBNSinDigitoControl) then<br />
return ISBN1Corregido<br />
end <br />
<br />
elseif ISBN1Corregido then<br />
return ISBN1Corregido<br />
elseif ISBN2Corregido then<br />
return ISBN1Corregido<br />
end<br />
end<br />
<br />
function SugerirISBN(ISBNIncorrecto)<br />
local ISBNSugerido<br />
<br />
-- Ejemplos: <br />
-- 0 88254 165 x --> 0 88254 165 X<br />
-- 0-7153-5734-4. --> 0-7153-5734-4<br />
-- 0–313–31807–7 --> 0-313-31807-7<br />
-- ISBN(13): 9788495379092 <br />
-- 978-0-7432-9302-0 y 0-7432-9302-0<br />
-- 9788430948949 8430948945 <br />
-- 8496702057 9788496702059<br />
-- 0198152213, 978019815221<br />
-- 13 978-0-511-41399-5 <br />
-- 13: 9788432238406<br />
<br />
-- ISBN con caracteres incorrectos.<br />
ISBNSugerido=CorregirISBN(ISBNIncorrecto)<br />
if ISBNSugerido then <br />
return ISBNSugerido<br />
end<br />
<br />
-- ISBN10, ISBN13 o ISBN13, ISBN10<br />
local ISBN1, ISBN2<br />
ISBN1, ISBN2 = ISBNIncorrecto:match("(.*),%s*(.*)")<br />
if is_set(ISBN1) and is_set(ISBN2) then<br />
ISBNSugerido = CorregirISBNs(ISBN1, ISBN2)<br />
<br />
if ISBNSugerido then<br />
return ISBNSugerido<br />
end <br />
end<br />
<br />
-- ISBN10 y ISBN13 o ISBN13 y ISBN10<br />
ISBN1, ISBN2 = ISBNIncorrecto:match("(.*)%s+y%s+(.*)")<br />
if is_set(ISBN1) and is_set(ISBN2) then<br />
ISBNSugerido = CorregirISBNs(ISBN1, ISBN2)<br />
<br />
if ISBNSugerido then<br />
return ISBNSugerido<br />
end <br />
end<br />
<br />
-- ISBN10 ISBN13 o ISBN13 ISBN10<br />
ISBN1, ISBN2 = ISBNIncorrecto:match("(.*)%s+(.*)")<br />
if is_set(ISBN1) and is_set(ISBN2) then<br />
ISBNSugerido = CorregirISBNs(ISBN1, ISBN2)<br />
<br />
if ISBNSugerido then<br />
return ISBNSugerido<br />
end <br />
end <br />
end<br />
<br />
-- Chooses one matching parameter from a list of parameters to consider<br />
-- Generates an error if more than one match is present.<br />
function selectone( args, possible, error_condition, index )<br />
local value = nil;<br />
local selected = '';<br />
local error_list = {};<br />
<br />
if index ~= nil then index = tostring(index); end<br />
<br />
-- Handle special case of "#" replaced by empty string<br />
if index == '1' then<br />
for _, v in ipairs( possible ) do<br />
v = v:gsub( "#", "" );<br />
if is_set(args[v]) then<br />
if value ~= nil and selected ~= v then<br />
table.insert( error_list, v );<br />
else<br />
value = args[v];<br />
selected = v;<br />
end<br />
end<br />
end <br />
end<br />
<br />
for _, v in ipairs( possible ) do<br />
if index ~= nil then<br />
v = v:gsub( "#", index );<br />
end<br />
if is_set(args[v]) then<br />
if value ~= nil and selected ~= v then<br />
table.insert( error_list, v );<br />
else<br />
value = args[v];<br />
selected = v;<br />
end<br />
end<br />
end<br />
<br />
if #error_list > 0 then<br />
local error_str = "";<br />
for _, k in ipairs( error_list ) do<br />
if error_str ~= "" then error_str = error_str .. cfg.messages['parameter-separator'] end<br />
error_str = error_str .. wrap( 'parameter', k );<br />
end<br />
if #error_list > 1 then<br />
error_str = error_str .. cfg.messages['parameter-final-separator'];<br />
else<br />
error_str = error_str .. cfg.messages['parameter-pair-separator'];<br />
end<br />
error_str = error_str .. wrap( 'parameter', selected );<br />
table.insert( z.message_tail, { seterror( error_condition, {error_str}, true ) } );<br />
end<br />
<br />
return value, selected;<br />
end<br />
<br />
-- COinS metadata (see <http://ocoins.info/>) allows automated tools to parse<br />
-- the citation information.<br />
function COinS(data)<br />
if 'table' ~= type(data) or nil == next(data) then<br />
return '';<br />
end<br />
<br />
local ctx_ver = "Z39.88-2004";<br />
<br />
-- treat table strictly as an array with only set values.<br />
local OCinSoutput = setmetatable( {}, {<br />
__newindex = function(self, key, value)<br />
if is_set(value) then<br />
rawset( self, #self+1, table.concat{ key, '=', mw.uri.encode( removewikilink( value ) ) } );<br />
end<br />
end<br />
});<br />
<br />
if is_set(data.Chapter) then<br />
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book";<br />
OCinSoutput["rft.genre"] = "bookitem";<br />
OCinSoutput["rft.btitle"] = data.Chapter;<br />
OCinSoutput["rft.atitle"] = data.Title;<br />
elseif is_set(data.Periodical) then<br />
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:journal";<br />
OCinSoutput["rft.genre"] = "article";<br />
OCinSoutput["rft.jtitle"] = data.Periodical;<br />
OCinSoutput["rft.atitle"] = data.Title;<br />
else<br />
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book";<br />
OCinSoutput["rft.genre"] = "book"<br />
OCinSoutput["rft.btitle"] = data.Title;<br />
end<br />
<br />
OCinSoutput["rft.place"] = data.PublicationPlace;<br />
OCinSoutput["rft.date"] = data.Date;<br />
OCinSoutput["rft.series"] = data.Series;<br />
OCinSoutput["rft.volume"] = data.Volume;<br />
OCinSoutput["rft.issue"] = data.Issue;<br />
OCinSoutput["rft.pages"] = data.Pages;<br />
OCinSoutput["rft.edition"] = data.Edition;<br />
OCinSoutput["rft.pub"] = data.PublisherName;<br />
<br />
for k, v in pairs( data.ID_list ) do<br />
local id, value = cfg.id_handlers[k].COinS;<br />
if k == 'ISBN' then value = cleanisbn( v ); else value = v; end<br />
if string.sub( id or "", 1, 4 ) == 'info' then<br />
OCinSoutput["rft_id"] = table.concat{ id, "/", v };<br />
else<br />
OCinSoutput[ id ] = value;<br />
end<br />
end<br />
<br />
local last, first;<br />
for k, v in ipairs( data.Authors ) do<br />
last, first = v.last, v.first;<br />
if k == 1 then<br />
if is_set(last) then<br />
OCinSoutput["rft.aulast"] = last;<br />
end<br />
if is_set(first) then <br />
OCinSoutput["rft.aufirst"] = first;<br />
end<br />
end<br />
if is_set(last) and is_set(first) then<br />
OCinSoutput["rft.au"] = table.concat{ last, ", ", first };<br />
elseif is_set(last) then<br />
OCinSoutput["rft.au"] = last;<br />
end<br />
end<br />
<br />
OCinSoutput.rft_id = data.URL;<br />
OCinSoutput.rfr_id = table.concat{ "info:sid/", mw.site.server:match( "[^/]*$" ), ":", data.RawPage };<br />
OCinSoutput = setmetatable( OCinSoutput, nil );<br />
<br />
-- sort with version string always first, and combine.<br />
table.sort( OCinSoutput );<br />
table.insert( OCinSoutput, 1, "ctx_ver=" .. ctx_ver ); -- such as "Z39.88-2004"<br />
return table.concat(OCinSoutput, "&");<br />
end<br />
<br />
--[[<br />
This is the main function doing the majority of the citation<br />
formatting.<br />
]]<br />
function citation0( config, args)<br />
local ModuloIdentificadores = require('Módulo:Identificadores') <br />
--[[ <br />
Load Input Parameters<br />
The argment_wrapper facillitates the mapping of multiple<br />
aliases to single internal variable.<br />
]]<br />
local A = argument_wrapper( args );<br />
<br />
local i <br />
local PPrefix = A['PPrefix']<br />
local PPPrefix = A['PPPrefix']<br />
if is_set( A['NoPP'] ) then PPPrefix = "" PPrefix = "" end<br />
<br />
-- Pick out the relevant fields from the arguments. Different citation templates<br />
-- define different field names for the same underlying things. <br />
local Authors = A['Authors'];<br />
local a = extractnames( args, 'AuthorList' );<br />
<br />
local Coauthors = A['Coauthors'];<br />
<br />
local Editors = A['Editors'];<br />
local e = extractnames( args, 'EditorList' );<br />
<br />
local Year = A['Year'];<br />
local wYear=Year;<br />
local PublicationDate = A['PublicationDate'];<br />
local OrigYear = A['OrigYear'];<br />
local Date = A['Date'];<br />
local wfecha = Date;<br />
local LayDate = A['LayDate'];<br />
------------------------------------------------- Get title data<br />
local Title = A['Title'];<br />
local BookTitle = A['BookTitle'];<br />
local Conference = A['Conference'];<br />
local TransTitle = A['TransTitle'];<br />
local TitleNote = A['TitleNote'];<br />
local TitleLink = A['TitleLink'];<br />
local Chapter = A['Chapter'];<br />
local ChapterLink = A['ChapterLink'];<br />
local TransChapter = A['TransChapter'];<br />
local TitleType = A['TitleType'];<br />
local Degree = A['Degree'];<br />
local Docket = A['Docket'];<br />
local ArchiveURL = A['ArchiveURL'];<br />
local URL = A['URL']<br />
local URLorigin = A:ORIGIN('URL');<br />
local ChapterURL = A['ChapterURL'];<br />
local ChapterURLorigin = A:ORIGIN('ChapterURL');<br />
local ConferenceURL = A['ConferenceURL'];<br />
local ConferenceURLorigin = A:ORIGIN('ConferenceURL');<br />
local SinURL = false;<br />
local Periodical = A['Periodical'];<br />
<br />
local Series = A['Series'];<br />
local Volume = A['Volume'];<br />
local Issue = A['Issue'];<br />
local Position = '';<br />
local Page = A['Page'];<br />
local Pages = dashtohyphen( A['Pages'] ); <br />
local At = A['At'];<br />
local Others = A['Others'];<br />
local Edition = A['Edition'];<br />
local PublicationPlace = A['PublicationPlace']<br />
local Place = A['Place'];<br />
local Passage = A['Passage'];<br />
local PassageURL = A['PassageURL'];<br />
<br />
local PublisherName = A['PublisherName'];<br />
local UrlAccess = A['UrlAccess'];<br />
local RegistrationRequired = A['RegistrationRequired'];<br />
local SubscriptionRequired = A['SubscriptionRequired'];<br />
local Via = A['Via'];<br />
local AccessDate = A['AccessDate'];<br />
local MesAcceso = A['MesAcceso']; -- Inexistente en la plantilla original<br />
local AnyoAcceso = A['AñoAcceso']; -- Inexistente en la plantilla original<br />
local ArchiveDate = A['ArchiveDate'];<br />
local Agency = A['Agency'];<br />
local DeadURL = A['DeadURL']<br />
local Language = A['Language'];<br />
local Format = A['Format'];<br />
local Ref = A['Ref'];<br />
local DoiBroken = A['DoiBroken'];<br />
local ID = A['ID'];<br />
local IgnoreISBN = A['IgnoreISBN'];<br />
local Embargo = A['Embargo'];<br />
local Texto1 = A['Texto1']<br />
local ID_list = extractids( args );<br />
local ISBNCorrecto = false;<br />
local ISBNSugerido;<br />
<br />
if is_set (ID_list['ISBN']) and not is_set (IgnoreISBN) then<br />
if ModuloIdentificadores.esValidoISBN(ID_list['ISBN']) then <br />
ISBNCorrecto= true<br />
else<br />
ISBNSugerido = SugerirISBN(ID_list['ISBN'])<br />
if ISBNSugerido then<br />
ID_list['ISBN'] = ISBNSugerido<br />
end<br />
end<br />
end<br />
local Lista_Identificadores_Formateados={} -- Lista de identificadores con enlaces y en su caso con los errores<br />
<br />
local Quote = A['Quote'];<br />
local TransQuote = A['TransQuote'];<br />
local PostScript = A['PostScript'];<br />
<br />
local LayURL = A['LayURL'];<br />
local LaySource = A['LaySource'];<br />
local Transcript = A['Transcript'];<br />
local TranscriptURL = A['TranscriptURL'] <br />
local TranscriptURLorigin = A:ORIGIN('TranscriptURL');<br />
local sepc = A['Separator'];<br />
<br />
local LastAuthorAmp = A['LastAuthorAmp'];<br />
local no_tracking_cats = A['NoTracking'];<br />
<br />
--these are used by cite interview<br />
local Callsign = A['Callsign'];<br />
local City = A['City'];<br />
local Cointerviewers = A['Cointerviewers']; -- deprecated<br />
local Interviewer = A['Interviewer']; -- deprecated<br />
local Program = A['Program'];<br />
<br />
--Parámetros que no se utilizan en la plantilla inglesa<br />
local SinEd = A['SinEd']<br />
local Extra = A['Extra']<br />
local Traductor = A['Traductor']<br />
local Traductores = A['Traductores']<br />
<br />
--local variables that are not cs1 parameters<br />
local page_type; -- is this needed? Doesn't appear to be used anywhere;<br />
local use_lowercase<br />
local this_page = mw.title.getCurrentTitle(); --Also used for COinS and for language<br />
-- local anchor_year; -- used in the CITEREF identifier<br />
local COinS_date; -- used in the COinS metadata<br />
<br />
--check this page to see if it is in one of the namespaces that cs1 is not supposed to add to the error categories.<br />
if not is_set(no_tracking_cats) then -- ignore if we are already not going to categorize this page<br />
for k, v in pairs( cfg.uncategorized_namespaces ) do -- otherwise, spin through the list of namespaces we don't include in error categories<br />
if this_page.nsText == v then -- if we find one<br />
no_tracking_cats = "true"; -- set no_trackin_cats<br />
break; -- and we're done<br />
end<br />
end<br />
end<br />
<br />
-- check for extra |page=, |pages= or |at= parameters. <br />
if is_set(Page) then<br />
-- La categoría de la plantilla inglesa es intraducible. Utilizo otro error similar.<br />
<br />
--if is_set(Pages) or is_set(At) then<br />
-- Page = Page .. " " .. seterror('extra_pages'); -- add error message<br />
-- Pages = ''; -- unset the others<br />
-- At = '';<br />
--end<br />
if is_set(Pages) then<br />
Page = Page .. " " .. seterror('redundant_parameters', '<code>&#124;página=</code> y <code>&#124;páginas=</code>');<br />
Pages = ''; -- unset the others<br />
At = '';<br />
Passage = '';<br />
elseif is_set(At) then<br />
Page = Page .. " " .. seterror('redundant_parameters', '<code>&#124;página=</code> y <code>&#124;en=</code>');<br />
Pages = ''; -- unset the others<br />
At = '';<br />
Passage = '';<br />
elseif is_set(Passage) then<br />
Page = Page .. " " .. seterror('redundant_parameters', '<code>&#124;página=</code> y <code>&#124;pasaje=</code>');<br />
Pages = ''; -- unset the others<br />
At = '';<br />
Passage = '';<br />
end<br />
elseif is_set(Pages) then<br />
if is_set(At) then<br />
-- Pages = Pages .. " " .. seterror('extra_pages'); -- add error messages<br />
Pages = Pages .. " " .. seterror('redundant_parameters', '<code>&#124;páginas=</code> y <code>&#124;en=</code>');<br />
At = '';<br />
Passage = '';<br />
elseif is_set(Passage) then<br />
Pages = Pages .. " " .. seterror('redundant_parameters', '<code>&#124;páginas=</code> y <code>&#124;pasaje=</code>');<br />
At = '';<br />
Passage = '';<br />
end<br />
elseif is_set(At) then<br />
if is_set(Passage) then<br />
At = At .. " " .. seterror('redundant_parameters', '<code>&#124;en=</code> y <code>&#124;pasaje=</code>');<br />
Passage = '';<br />
end<br />
end<br />
<br />
-- both |publication-place= and |place= (|location=) allowed if different<br />
if not is_set(PublicationPlace) and is_set(Place) then<br />
PublicationPlace = Place; -- promote |place= (|location=) to |publication-place<br />
end<br />
<br />
if PublicationPlace == Place then Place = ''; end -- don't need both if they are the same<br />
<br />
--[[<br />
Parameter remapping for cite encyclopedia:<br />
When the citation has these parameters:<br />
|encyclopedia and |title then map |title to |article and |encyclopedia to |title<br />
|encyclopedia and |article then map |encyclopedia to |title<br />
|encyclopedia then map |encyclopedia to |title<br />
<br />
|trans_title maps to |trans_chapter when |title is re-mapped<br />
<br />
All other combinations of |encyclopedia, |title, and |article are not modified<br />
]]<br />
-- if ( config.ClaseCita == "encyclopaedia" ) then<br />
if ( config.ClaseCita == "enciclopedia" ) then <br />
if is_set(Periodical) then -- Periodical is set when |encyclopedia is set<br />
if is_set(Title) then<br />
if not is_set(Chapter) then<br />
Chapter = Title; -- |encyclopedia and |title are set so map |title to |article and |encyclopedia to |title<br />
TransChapter = TransTitle;<br />
Title = Periodical;<br />
Periodical = ''; -- redundant so unset<br />
TransTitle = ''; -- redundant so unset<br />
end<br />
else -- |title not set<br />
Title = Periodical; -- |encyclopedia set and |article set or not set so map |encyclopedia to |title<br />
Periodical = ''; -- redundant so unset<br />
end<br />
end<br />
end<br />
<br />
--special cases for classic book<br />
if config.ClaseCita == 'libro' and is_set(Passage) then<br />
if is_set(PassageURL) then<br />
Passage = externallink( PassageURL, Passage )<br />
end<br />
if not is_set (sepc) then<br />
sepc = ' ';<br />
end<br />
else<br />
Passage = ''<br />
end<br />
<br />
--special cases for citation.<br />
if (config.ClaseCita == "citation") then -- for citation templates<br />
if not is_set (sepc) then -- if |separator= is not set<br />
sepc = ','; -- set citation separator to its default (comma)<br />
end<br />
else -- not a citation template<br />
if not is_set (sepc) then -- if |separator= has not been set<br />
sepc = '.'; -- set cite xxx separator to its default (period)<br />
end<br />
end<br />
<br />
if not is_set (Ref) then -- if |ref= is not set<br />
-- if inArray(config.ClaseCita, {"citation", "libro", "publicación", "web"}) then -- for citation templates<br />
-- En la Wikipedia inglesa solo se usan citas Harvard para la clase citation <br />
-- Quedan habilitadas las citas Harvard para cualquier clase que contenga algún autor o editor<br />
if #a > 0 or #e > 0 then<br />
Ref = "harv"; -- set default |ref=harv<br />
end<br />
end <br />
<br />
-- check for specital case where |separator=none<br />
if 'none' == sepc:lower() then -- if |separator=none<br />
sepc = ''; -- then set it to a empty string<br />
end<br />
<br />
use_lowercase = ( sepc ~= '.' );<br />
<br />
Others = is_set(Others) and (sepc .. " " .. Others) or ""; <br />
<br />
-- Special case for cite techreport.<br />
if (config.ClaseCita == "techreport") then -- special case for cite techreport<br />
if is_set(Issue) then -- cite techreport uses 'number', which other citations aliase to 'issue'<br />
if not is_set(ID) then -- can we use ID for the "number"?<br />
ID = Issue; -- yes, use it<br />
Issue = ""; -- unset Issue so that "number" isn't duplicated in the rendered citation or COinS metadata<br />
else -- can't use ID so emit error message<br />
ID = ID .. " " .. seterror('redundant_parameters', '<code>&#124;id=</code> and <code>&#124;number=</code>');<br />
end<br />
end <br />
-- special case for cite interview<br />
elseif (config.ClaseCita == "entrevista") then<br />
if is_set(Program) then<br />
ID = ' ' .. Program;<br />
end<br />
if is_set(Callsign) then<br />
if is_set(ID) then<br />
ID = ID .. sepc .. ' ' .. Callsign;<br />
else<br />
ID = ' ' .. Callsign;<br />
end<br />
end<br />
if is_set(City) then<br />
if is_set(ID) then<br />
ID = ID .. sepc .. ' ' .. City;<br />
else<br />
ID = ' ' .. City;<br />
end<br />
end<br />
<br />
if is_set(Interviewer) then<br />
if is_set(TitleType) then<br />
Others = sepc .. ' ' .. TitleType .. ' con ' .. Interviewer -- ' ' .. TitleType .. ' con ' .. Interviewer;<br />
TitleType = '';<br />
else<br />
Others = sepc .. ' ' .. wrap('interview', Interviewer, use_lowercase) .. Others -- ' ' .. 'Entrevista con ' .. Interviewer;<br />
end<br />
if is_set(Cointerviewers) then<br />
Others = Others .. sepc .. ' ' .. Cointerviewers;<br />
end<br />
else<br />
Others = Others .. sepc .. ' (Entrevista)' --'(Interview)';<br />
end<br />
elseif is_set(ID) then<br />
ID = wrap( 'id', ID)<br />
end<br />
<br />
--Account for the oddity that is {{cite journal}} with |pmc= set and |url= not set<br />
-- if config.ClaseCita == "journal" and not is_set(URL) and is_set(ID_list['PMC']) then<br />
if config.ClaseCita == "publicación" and not is_set(URL) and is_set(ID_list['PMC']) then<br />
if not is_embargoed(Embargo) then<br />
URL=cfg.id_handlers['PMC'].prefix .. ID_list['PMC']; -- set url to be the same as the PMC external link if not embargoed<br />
URLorigin = cfg.id_handlers['PMC'].parameters[1]; -- set URLorigin to parameter name for use in error message if citation is missing a |title=<br />
end<br />
end<br />
<br />
if is_set(Texto1) and Texto1:match("%S+") then<br />
-- Informar la URL con el valor del campo 1 en su caso <br />
if config.ClaseCita == "web" and not is_set(URL) and checkurl(Texto1) then<br />
table.insert( z.message_tail, { seterror( 'url_sugerida', {Texto1, 'url'}, true ) } )<br />
--URL = Texto1 Utilizar URL como texto.<br />
else<br />
table.insert( z.message_tail, { seterror( 'text_ignored', {Texto1}, true ) } )<br />
end<br />
end<br />
<br />
-- Account for the oddity that is {{cite conference}}, before generation of COinS data.<br />
--TODO: if this is only for {{cite conference}}, shouldn't we be checking? (if config.ClaseCita=='conference' then ...)<br />
<br />
if 'conferencia' == config.ClaseCita then<br />
if is_set(BookTitle) then<br />
Chapter = Title;<br />
-- ChapterLink = TitleLink; -- |chapterlink= is deprecated<br />
ChapterURL = URL;<br />
ChapterUrlAccess = UrlAccess;<br />
ChapterURLorigin = URLorigin;<br />
URLorigin = '';<br />
ChapterFormat = Format;<br />
TransChapter = TransTitle;<br />
Title = BookTitle;<br />
Format = '';<br />
-- TitleLink = '';<br />
TransTitle = '';<br />
URL = '';<br />
end<br />
elseif 'speech' ~= config.ClaseCita then<br />
Conference = ''; -- not cite conference or cite speech so make sure this is empty string<br />
end<br />
<br />
-- Account for the oddity that is {{cite episode}}, before generation of COinS data.<br />
--[[ -- {{cite episode}} is not currently supported by this module<br />
if config.ClaseCita == "episode" then<br />
local AirDate = A['AirDate'];<br />
local SeriesLink = A['SeriesLink'];<br />
local Season = A['Season'];<br />
local SeriesNumber = A['SeriesNumber'];<br />
local Network = A['Network'];<br />
local Station = A['Station'];<br />
local s, n = {}, {};<br />
local Sep = (first_set(A["SeriesSeparator"], A["Separator"]) or "") .. " ";<br />
<br />
if is_set(Issue) then table.insert(s, cfg.messages["episode"] .. " " .. Issue); Issue = ''; end<br />
if is_set(Season) then table.insert(s, cfg.messages["season"] .. " " .. Season); end<br />
if is_set(SeriesNumber) then table.insert(s, cfg.messages["series"] .. " " .. SeriesNumber); end<br />
if is_set(Network) then table.insert(n, Network); end<br />
if is_set(Station) then table.insert(n, Station); end<br />
<br />
Date = Date or AirDate;<br />
Chapter = Title;<br />
ChapterLink = TitleLink;<br />
TransChapter = TransTitle;<br />
Title = Series;<br />
TitleLink = SeriesLink;<br />
TransTitle = '';<br />
<br />
Series = table.concat(s, Sep);<br />
ID = table.concat(n, Sep);<br />
end<br />
-- end of {{cite episode}} stuff]]<br />
<br />
-- legacy: promote concatenation of |day=, |month=, and |year= to Date if Date not set; or, promote PublicationDate to Date if neither Date nor Year are set.<br />
if not is_set(Date) then<br />
Date = Year; -- promote Year to Date<br />
Year = nil; -- make nil so Year as empty string isn't used for CITEREF<br />
if is_set(Date) then<br />
local Month = A['Month'];<br />
if is_set(Month) then<br />
Date = Month .. " de " .. Date; --Month .. " " .. Date;<br />
local Day = A['Day']<br />
if is_set(Day) then Date = Day .. " de " .. Date end --if is_set(Day) then Date = Day .. " " .. Date end<br />
end<br />
elseif is_set(PublicationDate) then -- use PublicationDate when |date= and |year= are not set<br />
Date = PublicationDate; -- promonte PublicationDate to Date<br />
PublicationDate = ''; -- unset, no longer needed<br />
end<br />
end<br />
<br />
if PublicationDate == Date then PublicationDate = ''; end -- if PublicationDate is same as Date, don't display in rendered citation<br />
<br />
<br />
--[[<br />
Go test all of the date-holding parameters for valid MOS:DATE format and make sure that dates are real dates. This must be done before we do COinS because here is where<br />
we get the date used in the metadata.<br />
<br />
Date validation supporting code is in Módulo:Citas/ValidaciónFechas<br />
]]<br />
<br />
--[[<br />
anchor_year, COinS_date, error_message = dates({['accessdate']=AccessDate, ['airdate']=AirDate, ['archivedate']=ArchiveDate, ['date']=Date, ['doi_brokendate']=DoiBroken,<br />
['embargo']=Embargo, ['laydate']=LayDate, ['publicationdate']=PublicationDate, ['year']=Year});<br />
if is_set(error_message) then<br />
table.insert( z.message_tail, { seterror( 'bad_date', {error_message}, true ) } ); -- add this error message<br />
end<br />
]]<br />
-- At this point fields may be nil if they weren't specified in the template use. We can use that fact.<br />
<br />
-- COinS metadata (see <http://ocoins.info/>) for<br />
-- automated parsing of citation information.<br />
local OCinSoutput = COinS{<br />
['Periodical'] = Periodical,<br />
['Chapter'] = Chapter,<br />
['Title'] = Title,<br />
['PublicationPlace'] = PublicationPlace,<br />
['Date'] = first_set(COinS_date, Date), -- COinS_date has correctly formatted date if Date is valid; any reason to keep Date here? Should we be including invalid dates in metadata?<br />
['Series'] = Series,<br />
['Volume'] = Volume,<br />
['Issue'] = Issue,<br />
['Pages'] = get_coins_pages (first_set(Page, Pages, At)), -- pages stripped of external links<br />
['Edition'] = Edition,<br />
['PublisherName'] = PublisherName,<br />
['URL'] = first_set( URL, ChapterURL ),<br />
['Authors'] = a,<br />
['ID_list'] = ID_list,<br />
['RawPage'] = this_page.prefixedText,<br />
};<br />
<br />
if is_set(Periodical) and not is_set(Chapter) and is_set(Title) then<br />
Chapter = Title;<br />
ChapterLink = TitleLink;<br />
TransChapter = TransTitle;<br />
Title = '';<br />
TitleLink = '';<br />
TransTitle = '';<br />
end<br />
<br />
-- Now perform various field substitutions.<br />
-- We also add leading spaces and surrounding markup and punctuation to the<br />
-- various parts of the citation, but only when they are non-nil.<br />
if not is_set(Authors) then<br />
local Maximum = tonumber( A['DisplayAuthors'] );<br />
<br />
-- Preserve old-style implicit et al.<br />
if not is_set(Maximum) and #a == 9 then <br />
Maximum = 8;<br />
table.insert( z.message_tail, { seterror('implict_etal_author', {}, true ) } );<br />
elseif not is_set(Maximum) then<br />
Maximum = #a + 1;<br />
end<br />
<br />
local control = { <br />
sep = A["AuthorSeparator"] .. " ",<br />
namesep = (first_set(A["AuthorNameSeparator"], A["NameSeparator"]) or "") .. " ",<br />
format = A["AuthorFormat"],<br />
maximum = Maximum,<br />
lastauthoramp = LastAuthorAmp<br />
};<br />
<br />
-- If the coauthor field is also used, prevent ampersand and et al. formatting.<br />
if is_set(Coauthors) then<br />
control.lastauthoramp = nil;<br />
control.maximum = #a + 1;<br />
end<br />
<br />
Authors = listpeople(control, a) <br />
end<br />
<br />
if not is_set(Authors) and is_set(Coauthors) then -- coauthors aren't displayed if one of authors=, authorn=, or lastn= isn't specified<br />
table.insert( z.message_tail, { seterror('coauthors_missing_author', {}, true) } ); -- emit error message<br />
<br />
-- Utilizo temporalmente los coautores como autores.<br />
Authors = Coauthors<br />
Coauthors = nil<br />
end<br />
<br />
local EditorCount<br />
if not is_set(Editors) then<br />
local Maximum = tonumber( A['DisplayEditors'] );<br />
-- Preserve old-style implicit et al.<br />
if not is_set(Maximum) and #e == 4 then <br />
Maximum = 3;<br />
table.insert( z.message_tail, { seterror('implict_etal_editor', {}, true) } );<br />
elseif not is_set(Maximum) then<br />
Maximum = #e + 1;<br />
end<br />
<br />
local control = { <br />
sep = A["EditorSeparator"] .. " ",<br />
namesep = (first_set(A["EditorNameSeparator"], A["NameSeparator"]) or "") .. " ",<br />
format = A['EditorFormat'],<br />
maximum = Maximum,<br />
lastauthoramp = LastAuthorAmp<br />
};<br />
<br />
Editors, EditorCount = listpeople(control, e);<br />
else<br />
EditorCount = 1;<br />
end<br />
<br />
local Cartography = "";<br />
local Scale = "";<br />
if config.ClaseCita == "map" then<br />
if not is_set( Authors ) and is_set( PublisherName ) then<br />
Authors = PublisherName;<br />
PublisherName = "";<br />
end<br />
Cartography = A['Cartography'];<br />
if is_set( Cartography ) then<br />
Cartography = sepc .. " " .. wrap( 'cartography', Cartography, use_lowercase );<br />
end <br />
Scale = A['Scale'];<br />
if is_set( Scale ) then<br />
Scale = sepc .. " " .. Scale;<br />
end <br />
end<br />
<br />
if not is_set(URL) and<br />
not is_set(ChapterURL) and<br />
not is_set(ArchiveURL) and<br />
not is_set(ConferenceURL) and<br />
not is_set(TranscriptURL) then<br />
<br />
sinURL = true<br />
<br />
-- Test if cite web or cite podcast |url= is missing or empty <br />
if inArray(config.ClaseCita, {"web","podcast"}) then <br />
table.insert( z.message_tail, { seterror( 'cite_web_url', {}, true ) } );<br />
end<br />
<br />
-- Test if format is given without giving a URL<br />
if is_set(Format) then<br />
Format = Format .. seterror( 'format_missing_url' );<br />
end<br />
end<br />
<br />
-- Test if citation has no title<br />
if not is_set(Chapter) and<br />
not is_set(Title) and<br />
not is_set(Periodical) and<br />
not is_set(Conference) and<br />
not is_set(TransTitle) and<br />
not is_set(TransChapter) and<br />
not is_set(Passage) then<br />
table.insert( z.message_tail, { seterror( 'citation_missing_title', {}, true ) } );<br />
end<br />
<br />
Format = is_set(Format) and " " .. wrap( 'format', Format ) or ""; --is_set(Format) and " (" .. Format .. ")" or "";<br />
<br />
local OriginalURL = URL<br />
DeadURL = DeadURL:lower();<br />
if is_set( ArchiveURL ) then<br />
if ( DeadURL ~= "no" ) then<br />
URL = ArchiveURL<br />
URLorigin = A:ORIGIN('ArchiveURL')<br />
end<br />
end<br />
<br />
-- Format chapter / article title<br />
if is_set(Chapter) and is_set(ChapterLink) then <br />
Chapter = "[[" .. ChapterLink .. "|" .. Chapter .. "]]";<br />
end<br />
if is_set(Periodical) and is_set(Title) then<br />
Chapter = wrap( 'italic-title', Chapter );<br />
TransChapter = wrap( 'trans-italic-title', TransChapter );<br />
else<br />
Chapter = kern_quotes (Chapter); -- if necessary, separate chapter title's leading and trailing quote marks from Module provided quote marks<br />
Chapter = wrap( 'quoted-title', Chapter );<br />
TransChapter = wrap( 'trans-quoted-title', TransChapter );<br />
end<br />
<br />
local TransError = ""<br />
if is_set(TransChapter) then<br />
if not is_set(Chapter) then<br />
TransError = " " .. seterror( 'trans_missing_chapter' );<br />
else<br />
TransChapter = " " .. TransChapter;<br />
end<br />
end<br />
<br />
Chapter = Chapter .. TransChapter;<br />
<br />
if is_set(Chapter) then<br />
if not is_set(ChapterLink) then<br />
if is_set(ChapterURL) then<br />
Chapter = externallink( ChapterURL, Chapter ) .. TransError;<br />
if not is_set(URL) then<br />
Chapter = Chapter .. Format;<br />
Format = "";<br />
end<br />
elseif is_set(URL) then <br />
Chapter = externallink( URL, Chapter ) .. TransError .. Format;<br />
URL = "";<br />
Format = "";<br />
else<br />
Chapter = Chapter .. TransError;<br />
end <br />
elseif is_set(ChapterURL) then<br />
Chapter = Chapter .. " " .. externallink( ChapterURL, nil, ChapterURLorigin ) .. <br />
TransError;<br />
else<br />
Chapter = Chapter .. TransError;<br />
end<br />
Chapter = Chapter .. sepc .. " " -- with end-space<br />
elseif is_set(ChapterURL) then<br />
Chapter = " " .. externallink( ChapterURL, nil, ChapterURLorigin ) .. sepc .. " ";<br />
end <br />
<br />
-- Format main title.<br />
if is_set(TitleLink) and is_set(Title) then<br />
Title = "[[" .. TitleLink .. "|" .. Title .. "]]"<br />
end<br />
<br />
if is_set(Traductor) and is_set(Traductores) then<br />
Traductor = " " .. wrap( 'traductores', Traductores) .. " " .. seterror('redundant_parameters', '<code>&#124;traductor=</code> y <code>&#124;traductores=</code>')<br />
elseif is_set(Traductor) then<br />
Traductor = " " .. wrap( 'traductor', Traductor)<br />
elseif is_set(Traductores) then<br />
Traductor = " " .. wrap( 'traductores', Traductores)<br />
end<br />
<br />
Traductores = ''<br />
<br />
if is_set(Periodical) then<br />
Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks<br />
Title = wrap( 'quoted-title', Title );<br />
TransTitle = wrap( 'trans-quoted-title', TransTitle );<br />
-- elseif inArray(config.ClaseCita, {"web","news","pressrelease","conference","podcast"}) and<br />
elseif inArray(config.ClaseCita, {"web","noticia","pressrelease","conference","podcast"}) and <br />
not is_set(Chapter) then<br />
Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks<br />
Title = wrap( 'quoted-title', Title );<br />
TransTitle = wrap( 'trans-quoted-title', TransTitle );<br />
else<br />
Title = wrap( 'italic-title', Title );<br />
TransTitle = wrap( 'trans-italic-title', TransTitle );<br />
end<br />
<br />
TransError = "";<br />
if is_set(TransTitle) then<br />
if not is_set(Title) then<br />
TransError = " " .. seterror( 'trans_missing_title' );<br />
else<br />
TransTitle = " " .. TransTitle;<br />
end<br />
end<br />
<br />
Title = Title .. Traductor .. TransTitle;<br />
<br />
if is_set(Title) then<br />
if not is_set(TitleLink) and is_set(URL) then <br />
Title = externallink( URL, Title, URL_origin, UrlAccess ) .. TransError .. Format <br />
URL = "";<br />
TieneURL = true;<br />
Format = "";<br />
else<br />
Title = Title .. TransError;<br />
end<br />
end<br />
<br />
if is_set(Place) then<br />
Place = " " .. wrap( 'written', Place, use_lowercase ) .. sepc .. " ";<br />
end<br />
<br />
if is_set(Conference) then<br />
if is_set(ConferenceURL) then<br />
Conference = externallink( ConferenceURL, Conference );<br />
end<br />
Conference = sepc .. " " .. Conference<br />
elseif is_set(ConferenceURL) then<br />
Conference = sepc .. " " .. externallink( ConferenceURL, nil, ConferenceURLorigin );<br />
end<br />
<br />
if not is_set(Position) then<br />
local Minutes = A['Minutes'];<br />
if is_set(Minutes) then<br />
Position = " " .. Minutes .. " " .. cfg.messages['minutes'];<br />
else<br />
local Time = A['Time'];<br />
if is_set(Time) then<br />
local TimeCaption = A['TimeCaption']<br />
if not is_set(TimeCaption) then<br />
TimeCaption = cfg.messages['event'];<br />
if sepc ~= '.' then<br />
TimeCaption = TimeCaption:lower();<br />
end<br />
end<br />
Position = " " .. TimeCaption .. " " .. Time;<br />
end<br />
end<br />
else<br />
Position = " " .. Position;<br />
At = '';<br />
end<br />
<br />
if not is_set(Page) then<br />
if is_set(Pages) then<br />
if is_set(Periodical) and<br />
-- not inArray(config.ClaseCita, {"encyclopaedia","web","book","news","podcast"}) then<br />
not inArray(config.ClaseCita, {"enciclopedia","web","libro","noticia","podcast"}) then<br />
Pages = ": " .. Pages;<br />
elseif tonumber(Pages) ~= nil then<br />
Pages = sepc .." " .. PPrefix .. Pages;<br />
else<br />
Pages = sepc .." " .. PPPrefix .. Pages;<br />
end<br />
end<br />
else<br />
if is_set(Periodical) and<br />
-- not inArray(config.ClaseCita, {"encyclopaedia","web","book","news","podcast"}) then<br />
not inArray(config.ClaseCita, {"enciclopedia","web","libro","noticia","podcast"}) then <br />
Page = ": " .. Page;<br />
else<br />
Page = sepc .." " .. PPrefix .. Page;<br />
end<br />
end<br />
<br />
At = is_set(At) and (sepc .. " " .. At) or "";<br />
Passage = is_set(Passage) and (sepc .. " " .. Passage) or "";<br />
Position = is_set(Position) and (sepc .. " " .. Position) or "";<br />
if config.ClaseCita == 'map' then<br />
local Section = A['Section'];<br />
local Inset = A['Inset'];<br />
if first_set( Pages, Page, At ) ~= nil or sepc ~= '.' then<br />
if is_set( Section ) then<br />
Section = ", " .. wrap( 'section', Section, true );<br />
end<br />
if is_set( Inset ) then<br />
Inset = ", " .. wrap( 'inset', Inset, true );<br />
end<br />
else<br />
if is_set( Section ) then<br />
Section = sepc .. " " .. wrap( 'section', Section, use_lowercase );<br />
if is_set( Inset ) then<br />
Inset = ", " .. wrap( 'inset', Inset, true );<br />
end<br />
elseif is_set( Inset ) then<br />
Inset = sepc .. " " .. wrap( 'inset', Inset, use_lowercase );<br />
end <br />
end <br />
At = At .. Section .. Inset; <br />
end <br />
<br />
--[[Look in the list of iso639-1 language codes to see if the value provided in the language parameter matches one of them. If a match is found, <br />
use that value; if not, then use the value that was provided with the language parameter.<br />
<br />
Categories are assigned in a manner similar to the {{xx icon}} templates - categorizes only mainspace citations and only when the language code is not 'en' (English).<br />
]]<br />
<br />
if is_set (Language) then<br />
-- Poner en minúsculas el primer caracter del idioma si está en mayúsculas<br />
Language = Language:gsub("^%u", string.lower)<br />
<br />
if Language == 'español' or Language == 'castellano' or Language == 'es' or Language:match('^es%-.*') then<br />
Language=""; -- No mostrar el idioma español<br />
else<br />
local name = mw.language.fetchLanguageName( Language:lower(), "es" ); -- experiment: this seems to return correct ISO 639-1 language names<br />
<br />
if is_set (name) then<br />
Language=" " .. wrap( 'language', name );<br />
else<br />
Language=" " .. wrap( 'language', Language ); -- no match, use parameter's value<br />
end<br />
end<br />
<br />
else<br />
Language=""; -- Asegurarnos de que el idioma no es nulo.<br />
end<br />
<br />
-- handle type parameter for those CS1 citations that have default values<br />
<br />
-- if inArray(config.ClaseCita, {"AV media notes", "DVD notes", "podcast", "pressrelease", "techreport", "thesis"}) then<br />
if inArray(config.ClaseCita, {"notas audiovisual", "notas de DVD", "podcast", "pressrelease", "techreport", "tesis"}) then <br />
TitleType = set_titletype (config.ClaseCita, TitleType);<br />
if is_set(Degree) and "Tesis" == TitleType then -- special case for cite thesis<br />
TitleType = "Tesis de " .. Degree;<br />
end<br />
end<br />
<br />
if is_set(TitleType) then -- if type parameter is specified<br />
TitleType = " (" .. TitleType .. ")"; -- display it in parentheses<br />
end<br />
<br />
TitleNote = is_set(TitleNote) and (sepc .. " " .. TitleNote) or "";<br />
<br />
if is_set(Edition) then<br />
if is_set(SinEd) then -- No existe el parámetro en el módulo de la wikipedia inglesa.<br />
Edition = " " .. wrap( 'sin edición', Edition ) -- No existe el parámetro en el módulo de la wikipedia inglesa.<br />
else<br />
Edition = " " .. wrap( 'edition', Edition )<br />
end<br />
else<br />
Edition = ""<br />
end<br />
Issue = is_set(Issue) and (" (" .. Issue .. ")") or "";<br />
Series = is_set(Series) and (sepc .. " " .. Series) or "";<br />
OrigYear = is_set(OrigYear) and (" [" .. OrigYear .. "]") or "";<br />
Agency = is_set(Agency) and (sepc .. " " .. Agency) or "";<br />
<br />
if is_set(Volume) then<br />
if Volume:match ('^%d+$') or Volume:match ('^[MDCLXVI]+$') -- negrita solamente si el capítulo está reflejado como cifra decimal o números romanos<br />
then Volume = " <b>" .. dashtohyphen(Volume) .. "</b>";<br />
else Volume = sepc .." " .. Volume;<br />
end<br />
end<br />
<br />
--[[ This code commented out while discussion continues until after week of 2014-03-23 live module update;<br />
if is_set(Volume) then<br />
if ( mw.ustring.len(Volume) > 4 )<br />
then Volume = sepc .. " " .. Volume;<br />
else<br />
Volume = " <b>" .. hyphentodash(Volume) .. "</b>";<br />
if is_set(Series) then Volume = sepc .. Volume;<br />
end<br />
end<br />
end<br />
]] <br />
------------------------------------ totally unrelated data<br />
--[[ Loosely mimic {{subscription required}} template; Via parameter identifies a delivery source that is not the publisher; these sources often, but not always, exist<br />
behind a registration or paywall. So here, we've chosen to decouple via from subscription (via has never been part of the registration required template).<br />
<br />
Subscription implies paywall; Registration does not. If both are used in a citation, the subscription required link note is displayed. There are no error messages for this condition.<br />
]]<br />
if is_set(Via) then<br />
Via = " " .. wrap( 'via', Via );<br />
end<br />
<br />
if UrlAccess == 'registration' then<br />
RegistrationRequired = true<br />
end<br />
if is_set(SubscriptionRequired) then<br />
SubscriptionRequired = sepc .. " " .. cfg.messages['subscription']; --here when 'via' parameter not used but 'subscription' is<br />
elseif is_set(RegistrationRequired) then<br />
SubscriptionRequired = sepc .. " " .. cfg.messages['registration']; --here when 'via' and 'subscription' parameters not used but 'registration' is<br />
end<br />
<br />
-- if is_set(AccessDate) then<br />
if is_set(AccessDate) or is_set(AnyoAcceso) then<br />
-- Test if accessdate is given without giving a URL<br />
if sinURL then<br />
table.insert( z.message_tail, { seterror( 'accessdate_missing_url', {}, true ) } );<br />
AccessDate = '';<br />
else<br />
if is_set(AccessDate) then<br />
if is_set(MesAcceso) and is_set(AnyoAcceso) then<br />
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>&#124;fechaacceso=</code>, <code>&#124;añoacceso=</code> y <code>&#124;mesacceso=</code>')<br />
elseif is_set(MesAcceso) then<br />
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>&#124;fechaacceso=</code> y <code>&#124;mesacceso=</code>')<br />
elseif is_set(AnyoAcceso) then<br />
if string.find(AccessDate, '%sde%s') then<br />
AccessDate = AccessDate .. ' de ' .. AnyoAcceso<br />
else<br />
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>&#124;fechaacceso=</code> y <code>&#124;Añoacceso=</code>');<br />
end<br />
end<br />
elseif is_set(MesAcceso) then <br />
AccessDate = MesAcceso .. ' de ' .. AnyoAcceso<br />
else <br />
AccessDate = AnyoAcceso<br />
end<br />
local retrv_text = " " .. cfg.messages['retrieved']<br />
if (sepc ~= ".") then retrv_text = retrv_text:lower() end<br />
AccessDate = '<span class="reference-accessdate">' .. sepc<br />
.. substitute( retrv_text, {format_date(AccessDate)} ) .. '</span>'<br />
end <br />
elseif is_set(MesAcceso) then <br />
end<br />
<br />
if is_set(ID) then ID = sepc .." ".. ID; end<br />
if "tesis" == config.ClaseCita and is_set(Docket) then<br />
ID = sepc .." Docket ".. Docket .. ID;<br />
end<br />
<br />
Lista_Identificadores_Formateados = buildidlist( ID_list, {DoiBroken = DoiBroken, IgnoreISBN = IgnoreISBN, Embargo=Embargo, ISBNCorrecto = ISBNCorrecto, ISBNSugerido = ISBNSugerido} );<br />
<br />
if is_set(URL) then<br />
URL = " " .. externallink( URL, nil, URLorigin, UrlAccess );<br />
end<br />
<br />
-- Set postscript default.<br />
if not is_set (PostScript) then -- if |postscript= has not been set (Postscript is nil which is the default for {{citation}}) and<br />
if (config.ClaseCita ~= "citation") then -- this template is not a citation template<br />
PostScript = '.'; -- must be a cite xxx template so set postscript to default (period)<br />
end<br />
else<br />
if PostScript:lower() == 'none' then -- if |postscript=none then<br />
PostScript = ''; -- no postscript<br />
end<br />
end <br />
<br />
if is_set(Quote) or is_set(TransQuote) then<br />
-- Eliminar comillas de Quote<br />
if (Quote:sub(1,1) == '"' and Quote:sub(-1,-1) == '"') or<br />
(Quote:sub(1,1) == '«' and Quote:sub(-1,-1) == '»') then<br />
Quote = Quote:sub(2,-2);<br />
end<br />
<br />
-- No añadir el punto final a la cita si el campo Quote ya incluye un punto<br />
if Quote:sub(-1,-1) == '.' or Quote:sub(-1,-1) == '?' or<br />
Quote:sub(-1,-1) == '!' then<br />
PostScript = ""<br />
end<br />
<br />
-- Eliminar comillas de TransQuote<br />
if (TransQuote:sub(1, 1) == '"' and TransQuote:sub(-1, -1) == '"') or<br />
(Quote:sub(1,1) == '«' and Quote:sub(-1,-1) == '»') then<br />
TransQuote = TransQuote:sub(2, -2);<br />
end<br />
<br />
-- No añadir el punto final a la cita si el campo TransQuote ya incluye un punto<br />
if TransQuote:sub(-1,-1) == '.' or TransQuote:sub(-1,-1) == '?' or<br />
TransQuote:sub(-1,-1) == '!' then<br />
PostScript = ""<br />
end<br />
Quote = Quote .. " " .. wrap( 'trans-quoted-title', TransQuote );<br />
TransQuote = wrap( 'trans-quoted-title', TransQuote );<br />
Quote = sepc .." " .. wrap( 'quoted-text', Quote ); <br />
end<br />
<br />
local Archived<br />
if is_set(ArchiveURL) then<br />
if not is_set(ArchiveDate) then<br />
ArchiveDate = seterror('archive_missing_date');<br />
else<br />
ArchiveDate = format_date(ArchiveDate)<br />
end<br />
if "no" == DeadURL then<br />
local arch_text = cfg.messages['archived'];<br />
if sepc ~= "." then arch_text = arch_text:lower() end<br />
Archived = sepc .. " " .. substitute( cfg.messages['archived-not-dead'],<br />
{ externallink( ArchiveURL, arch_text ), ArchiveDate } );<br />
if not is_set(OriginalURL) then<br />
Archived = Archived .. " " .. seterror('archive_missing_url'); <br />
end<br />
elseif is_set(OriginalURL) then<br />
local arch_text = cfg.messages['archived-dead'];<br />
if sepc ~= "." then arch_text = arch_text:lower() end<br />
Archived = sepc .. " " .. substitute( arch_text,<br />
{ externallink( OriginalURL, cfg.messages['original'] ), ArchiveDate } );<br />
else<br />
local arch_text = cfg.messages['archived-missing'];<br />
if sepc ~= "." then arch_text = arch_text:lower() end<br />
Archived = sepc .. " " .. substitute( arch_text, <br />
{ seterror('archive_missing_url'), ArchiveDate } );<br />
end<br />
else<br />
Archived = ""<br />
end<br />
<br />
local Lay<br />
if is_set(LayURL) then<br />
if is_set(LayDate) then LayDate = " (" .. format_date(LayDate) .. ")" end<br />
if is_set(LaySource) then <br />
LaySource = " &ndash; ''" .. safeforitalics(LaySource) .. "''";<br />
else<br />
LaySource = "";<br />
end<br />
if sepc == '.' then<br />
Lay = sepc .. " " .. externallink( LayURL, cfg.messages['lay summary'] ) .. LaySource .. LayDate<br />
else<br />
Lay = sepc .. " " .. externallink( LayURL, cfg.messages['lay summary']:lower() ) .. LaySource .. LayDate<br />
end <br />
else<br />
Lay = "";<br />
end<br />
<br />
if is_set(Transcript) then<br />
if is_set(TranscriptURL) then Transcript = externallink( TranscriptURL, Transcript ); end<br />
elseif is_set(TranscriptURL) then<br />
Transcript = externallink( TranscriptURL, nil, TranscriptURLorigin );<br />
end<br />
<br />
local Publisher;<br />
if is_set(Periodical) and<br />
-- not inArray(config.ClaseCita, {"encyclopaedia","web","pressrelease","podcast"}) then<br />
not inArray(config.ClaseCita, {"enciclopedia","web","pressrelease","podcast"}) then <br />
if is_set(PublisherName) then<br />
if is_set(PublicationPlace) then<br />
Publisher = PublicationPlace .. ": " .. PublisherName;<br />
else<br />
Publisher = PublisherName; <br />
end<br />
elseif is_set(PublicationPlace) then<br />
Publisher= PublicationPlace;<br />
else <br />
Publisher = "";<br />
end<br />
if is_set(PublicationDate) then<br />
if is_set(Publisher) then<br />
Publisher = Publisher .. ", " .. wrap( 'published', PublicationDate );<br />
else<br />
Publisher = PublicationDate;<br />
end<br />
end<br />
if is_set(Publisher) then<br />
Publisher = " (" .. Publisher .. ")";<br />
end<br />
else<br />
if is_set(PublicationDate) then<br />
PublicationDate = " (" .. wrap( 'published', format_date(PublicationDate) ) .. ")";<br />
end<br />
if is_set(PublisherName) then<br />
if is_set(PublicationPlace) then<br />
Publisher = sepc .. " " .. PublicationPlace .. ": " .. PublisherName .. PublicationDate;<br />
else<br />
Publisher = sepc .. " " .. PublisherName .. PublicationDate; <br />
end <br />
elseif is_set(PublicationPlace) then <br />
Publisher= sepc .. " " .. PublicationPlace .. PublicationDate;<br />
else <br />
Publisher = PublicationDate;<br />
end<br />
end<br />
<br />
-- Several of the above rely upon detecting this as nil, so do it last.<br />
if is_set(Periodical) then<br />
if is_set(Title) or is_set(TitleNote) then <br />
Periodical = sepc .. " " .. wrap( 'italic-title', Periodical ) <br />
else <br />
Periodical = wrap( 'italic-title', Periodical )<br />
end<br />
end<br />
<br />
--[[<br />
Handle the oddity that is cite speech. This code overrides whatever may be the value assigned to TitleNote (through |department=) and forces it to be " (Speech)" so that<br />
the annotation directly follows the |title= parameter value in the citation rather than the |event= parameter value (if provided).<br />
]]<br />
if "speech" == config.ClaseCita then -- cite speech only<br />
TitleNote = " (Speech)"; -- annotate the citation<br />
if is_set (Periodical) then -- if Periodical, perhaps because of an included |website= or |journal= parameter <br />
if is_set (Conference) then -- and if |event= is set<br />
Conference = Conference .. sepc .. " "; -- then add appropriate punctuation to the end of the Conference variable before rendering<br />
end<br />
end<br />
end<br />
<br />
-- Piece all bits together at last. Here, all should be non-nil.<br />
-- We build things this way because it is more efficient in LUA<br />
-- not to keep reassigning to the same string variable over and over.<br />
<br />
local tcommon<br />
-- if inArray(config.ClaseCita, {"journal","citation"}) and is_set(Periodical) then<br />
if inArray(config.ClaseCita, {"publicación","citation"}) and is_set(Periodical) then<br />
if is_set(Others) then Others = Others .. sepc .. " " end<br />
tcommon = safejoin( {Others, Title, TitleNote, Conference, Periodical, Format, TitleType, Scale, Series, <br />
Language, Cartography, Edition, Publisher, Agency, Volume, Issue}, sepc );<br />
else <br />
tcommon = safejoin( {Title, TitleNote, Conference, Periodical, Format, TitleType, Scale, Series, Language, <br />
Volume, Issue, Others, Cartography, Edition, Publisher, Agency}, sepc );<br />
end<br />
<br />
if #Lista_Identificadores_Formateados > 0 then<br />
Lista_Identificadores_Formateados = safejoin( { sepc .. " ", table.concat( Lista_Identificadores_Formateados, sepc .. " " ), ID }, sepc );<br />
else<br />
Lista_Identificadores_Formateados = ID;<br />
end<br />
<br />
local idcommon = safejoin( { Lista_Identificadores_Formateados, URL, Archived, AccessDate, Via, SubscriptionRequired, Lay, Quote }, sepc );<br />
local text;<br />
local pgtext = Position .. Page .. Pages .. At .. Passage;<br />
<br />
if is_set(Authors) then<br />
if is_set(Coauthors) then<br />
Authors = Authors .. A['AuthorSeparator'] .. " " .. Coauthors<br />
end<br />
if is_set(Date) then<br />
Date = " ("..format_date(Date)..")" .. OrigYear .. sepc .. " "<br />
elseif string.sub(Authors,-1,-1) == sepc then<br />
Authors = Authors .. " "<br />
else<br />
Authors = Authors .. sepc .. " "<br />
end<br />
if is_set(Editors) then<br />
local in_text = " ";<br />
local post_text = "";<br />
if is_set(Chapter) then<br />
in_text = in_text .. cfg.messages['in'] .. " "<br />
end<br />
if EditorCount <= 1 then<br />
post_text = ", " .. cfg.messages['editor'];<br />
else<br />
post_text = ", " .. cfg.messages['editors'];<br />
end<br />
if (sepc ~= '.') then in_text = in_text:lower() end<br />
Editors = in_text .. Editors .. post_text;<br />
if (string.sub(Editors,-1,-1) == sepc)<br />
then Editors = Editors .. " "<br />
else Editors = Editors .. sepc .. " "<br />
end<br />
end<br />
text = safejoin( {Authors, Date, Chapter, Place, Editors, tcommon }, sepc );<br />
text = safejoin( {text, pgtext, idcommon}, sepc );<br />
elseif is_set(Editors) then<br />
if is_set(Date) then<br />
if EditorCount <= 1 then<br />
Editors = Editors .. ", " .. cfg.messages['editor'];<br />
else<br />
Editors = Editors .. ", " .. cfg.messages['editors'];<br />
end<br />
Date = " (" .. format_date(Date) ..")" .. OrigYear .. sepc .. " "<br />
else<br />
if EditorCount <= 1 then<br />
Editors = Editors .. " (" .. cfg.messages['editor'] .. ")" .. sepc .. " "<br />
else<br />
Editors = Editors .. " (" .. cfg.messages['editors'] .. ")" .. sepc .. " "<br />
end<br />
end<br />
text = safejoin( {Editors, Date, Chapter, Place, tcommon}, sepc );<br />
text = safejoin( {text, pgtext, idcommon}, sepc );<br />
else<br />
if is_set(Date) then<br />
if ( string.sub(tcommon,-1,-1) ~= sepc )<br />
then Date = sepc .." " .. format_date(Date) .. OrigYear<br />
else Date = " " .. format_date(Date) .. OrigYear<br />
end<br />
end<br />
-- if config.ClaseCita=="journal" and is_set(Periodical) then<br />
if config.ClaseCita=="publicación" and is_set(Periodical) then <br />
text = safejoin( {Chapter, Place, tcommon}, sepc );<br />
text = safejoin( {text, pgtext, Date, idcommon}, sepc );<br />
else<br />
text = safejoin( {Chapter, Place, tcommon, Date}, sepc );<br />
text = safejoin( {text, pgtext, idcommon}, sepc );<br />
end<br />
end<br />
<br />
if is_set(PostScript) and PostScript ~= sepc then<br />
text = safejoin( {text, sepc}, sepc ); --Deals with italics, spaces, etc.<br />
text = text:sub(1,-sepc:len()-1);<br />
-- text = text:sub(1,-2); --Remove final separator (assumes that sepc is only one character)<br />
end <br />
<br />
text = safejoin( {text, PostScript}, sepc );<br />
<br />
-- Now enclose the whole thing in a <span/> element<br />
local options = {};<br />
<br />
if is_set(config.ClaseCita) and config.ClaseCita ~= "citation" then<br />
options.class = "citation " .. config.ClaseCita;<br />
else<br />
options.class = "citation";<br />
end<br />
<br />
if is_set(Ref) and Ref:lower() ~= "none" then<br />
local id = Ref<br />
if ( "harv" == Ref ) then<br />
local names = {} --table of last names & year<br />
if #a > 0 then<br />
for i,v in ipairs(a) do <br />
names[i] = v.last <br />
if i == 4 then break end<br />
end<br />
elseif #e > 0 then<br />
for i,v in ipairs(e) do <br />
names[i] = v.last <br />
if i == 4 then break end <br />
end<br />
end<br />
-- names[ #names + 1 ] = first_set(Year, anchor_year); -- Year first for legacy citations<br />
-- names[ #names + 1 ] = first_set(Year, ''); -- Year first for legacy citations<br />
names[ #names + 1 ] = first_set(wYear, wfecha, ''); -- Year first for legacy citations<br />
id = anchorid(names)<br />
end<br />
options.id = id;<br />
end<br />
<br />
if string.len(text:gsub("<span[^>/]*>.-</span>", ""):gsub("%b<>","")) <= 2 then<br />
z.error_categories = {};<br />
text = seterror('empty_citation');<br />
z.message_tail = {};<br />
end<br />
<br />
if is_set(options.id) then <br />
text = '<span id="' .. mw.uri.anchorEncode(options.id) ..'" class="' .. mw.text.nowiki(options.class) .. '">' .. text .. "</span>";<br />
else<br />
text = '<span class="' .. mw.text.nowiki(options.class) .. '">' .. text .. "</span>";<br />
end <br />
<br />
local empty_span = '<span style="display:none;">&nbsp;</span>';<br />
<br />
-- Note: Using display: none on then COinS span breaks some clients.<br />
local OCinS = '<span title="' .. OCinSoutput .. '" class="Z3988">' .. empty_span .. '</span>';<br />
text = text .. OCinS;<br />
<br />
if #z.message_tail ~= 0 then<br />
text = text .. " ";<br />
for i,v in ipairs( z.message_tail ) do<br />
if is_set(v[1]) then<br />
if i == #z.message_tail then<br />
text = text .. errorcomment( v[1], v[2] );<br />
else<br />
text = text .. errorcomment( v[1] .. "; ", v[2] );<br />
end<br />
end<br />
end<br />
end<br />
<br />
no_tracking_cats = no_tracking_cats:lower();<br />
if inArray(no_tracking_cats, {"", "no", "false", "n"}) then<br />
for _, v in ipairs( z.error_categories ) do<br />
text = text .. '[[Category:' .. v ..']]';<br />
end<br />
end<br />
<br />
return text<br />
end<br />
<br />
-- This is used by templates such as {{cite book}} to create the actual citation text.<br />
function z.cita(frame)<br />
local pframe = frame:getParent()<br />
<br />
if nil ~= string.find( frame:getTitle(), 'sandbox', 1, true ) then -- did the {{#invoke:}} use sandbox version?<br />
cfg = mw.loadData('Módulo:Citas/Configuración/pruebas' ); -- load sandbox versions of Configuration and Whitelist and ...<br />
whitelist = mw.loadData('Módulo:Citas/Whitelist/pruebas' );<br />
dates = require ('Módulo:Citas/ValidaciónFechas/pruebas').dates -- ... sandbox version of date validation code<br />
else -- otherwise<br />
cfg = mw.loadData('Módulo:Citas/Configuración' ); -- load live versions of Configuration and Whitelist and ...<br />
whitelist = mw.loadData('Módulo:Citas/Whitelist' );<br />
dates = require ('Módulo:Citas/ValidaciónFechas').dates -- ... live version of date validation code<br />
end<br />
<br />
local args = {};<br />
<br />
local suggestions = {};<br />
local error_text, error_state;<br />
<br />
local config = {};<br />
for k, v in pairs( frame.args ) do<br />
config[k] = v;<br />
args[k] = v; <br />
end<br />
<br />
for k, v in pairs( pframe.args ) do<br />
if v ~= '' then<br />
if not validate( k ) then <br />
error_text = "";<br />
if type( k ) ~= 'string' then<br />
-- Exclude empty numbered parameters<br />
if v:match("%S+") ~= nil then<br />
error_text, error_state = seterror( 'text_ignored', {v}, true );<br />
end<br />
elseif validate( k:lower() ) then <br />
error_text, error_state = seterror( 'parameter_ignored_suggest', {k, k:lower()}, true );<br />
else<br />
<br />
if #suggestions == 0 then<br />
suggestions = mw.loadData( 'Módulo:Citas/Sugerencias' );<br />
end<br />
if suggestions[ k:lower() ] ~= nil then<br />
error_text, error_state = seterror( 'parameter_ignored_suggest', {k, suggestions[ k:lower() ]}, true );<br />
elseif cfg.parametros_a_implementar[k:lower()] then <br />
error_text, error_state = seterror( 'parametro_por_implementar', {k}, true );<br />
else<br />
error_text, error_state = seterror( 'parameter_ignored', {k}, true );<br />
end<br />
end <br />
if error_text ~= '' then<br />
table.insert( z.message_tail, {error_text, error_state} );<br />
end <br />
end<br />
args[k] = v;<br />
elseif args[k] ~= nil or (k == 'postscript') then<br />
args[k] = v;<br />
end <br />
end <br />
<br />
return citation0( config, args)<br />
end<br />
<br />
return z</div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Cita_noticia/doc&diff=5911Plantilla:Cita noticia/doc2024-03-03T23:31:43Z<p>Miguel: Creación de «Plantilla:Cita noticia/doc»</p>
<hr />
<div>{{Subpágina de documentación}}<br />
{{Plantilla con Lua|módulo=Citas}}<br />
<br />
=== Uso ===<br />
Esta plantilla sirve para citar '''noticias''' que aparecen en periódicos, revistas, prensa escrita en general y otros medios de comunicación de una manera estándar para usarlas como referencia que respalde la información en los artículos. Se ofrece una versión en blanco de la plantilla que incluye varios de los parámetros más comunes. La lista completa de parámetros aparece más abajo. Para utilizar esta plantilla, copia y pega el código que sigue, completa los parámetros que te sirvan y luego borra los que no uses. La plantilla generará automáticamente un texto que despliegue de manera clara y ordenada toda la información introducida. También puedes guardarte una copia de este código en algún lugar más accesible (por ejemplo en tu espacio de usuario, en algún taller personal) para un uso futuro.<br />
<br />
{| class="wikitable" cellpadding="6"<br />
! colspan="3" | Versión completa (copiar y pegar el texto de debajo y eliminar los parámetros no usados)<br />
|- width="50%" valign="top" style="vertical-align:top;"<br />
| colspan="3" | <br />
:<span style="font-family:Courier; "><nowiki>{{cita noticia|nombre = |apellido = |enlaceautor = |autor = |url = |título = |formato = |agencia = |periódico = |editorial = |id = |páginas = |página = |número = |año = |issn = |fecha = |fechaacceso = </nowiki>{{CURRENTDAY}} de {{CURRENTMONTHNAME}} de {{CURRENTYEAR}}<nowiki>|ubicación = |idioma = |cita = }}</nowiki></span><br />
|- width="50%" valign="top" style="vertical-align:top;"<br />
! colspan="3" | Parámetros más usados (para no tener que borrar tanto)<br />
|- width="50%" valign="top" style="vertical-align:top;"<br />
| colspan="3" | <br />
:<span style="font-family:Courier; "><nowiki>{{cita noticia|nombre = |apellido = |url = |título = |periódico = |editorial = |fecha = |fechaacceso = </nowiki>{{CURRENTDAY}} de {{CURRENTMONTHNAME}} de {{CURRENTYEAR}}<nowiki>}}</nowiki></span><br />
|}<br />
<br />
;Todos los parámetros, formato vertical<br />
<pre><br />
{{cita noticia<br />
|nombre = <br />
|apellido = <br />
|enlaceautor = <br />
|autor = <br />
|título = <br />
|url = <br />
|formato = <br />
|agencia = <br />
|periódico = <br />
|editorial = <br />
|número = <br />
|año = <br />
|issn = <br />
|páginas = <br />
|página = <br />
|fecha = <br />
|fechaacceso = <br />
|idioma = <br />
|ubicación = <br />
|cita = <br />
}}<br />
</pre><br />
<br />
* '''nombre''': el nombre de pila del autor (periodista, columnista, reportero) que escribe la noticia.<br />
* '''apellido''': el apellido del autor (periodista, columnista, reportero) que escribe la noticia.<br />
* '''nombre2...9''': en caso de ser más de un autor, el nombre de pila del segundo, tercer, o cuarto autor. Se numeran así: nombre2 =, nombre3 =, nombre4 =, etc. (hasta 9).<br />
* '''apellido2...9''': en caso de ser más de un autor, aquí va el apellido (o apellidos) del segundo, tercer o cuarto autor. Se numeran así: apellido2 =, apellido3 =, apellido4 =, etc. (hasta 9).<br />
* '''enlaceautor''': el enlace que lleva al artículo sobre el autor (generalmente su nombre y apellido).<br />
* '''autor''': cuando no se desea o no se puede definir con nombre y apellidos (por ejemplo el autor es una institución o la redacción de un periódico o de un semanario).<br />
* '''título''': título de la noticia, tal como aparece en el periódico.<br />
{{Documentación cita|url}}<br />
* '''agencia''': la [[agencia de noticias]] que proporcionó el contenido, p. ej. [[Associated Press]], [[Reuters]], etc. Deletree y enlace el nombre completo.<br />
* '''periódico''': nombre del periódico o medio de prensa.<br />
* '''editorial''': editorial que publica el periódico.<br />
* '''número''': número en el que apareció la noticia.<br />
* '''año''': año en el que apareció la noticia (solo si no se sabe una fecha más precisa o si sirve para búsquedas en archivos del periódico).<br />
* '''issn''': identificador internacional estandarizado que corresponde a la publicación periódica (''International Standard Serial Number'').<br />
* '''páginas''': si la cita se refiere a varias páginas indicar la página donde comienza y la página donde termina la referencia, separadas por un guion. Esta plantilla hará que se presente precedidas por la abreviatura «pp.». No debe usarse en conjunto con el parámetro página.<br />
* '''página''': página (única) del periódico donde se encuentra la referencia. Esta plantilla hará que se presente precedida de la abreviatura «p.». No debe usarse en conjunto con con el parámetro páginas.<br />
* '''fecha''': fecha en que se publicó la noticia en el formato extendido en español de acuerdo con el [[WP:ME#Fechas|manual de estilo]] (por ejemplo: 1 de enero de 1998; 23 de octubre de 2001.<br />
* '''idioma''': idioma en el que está publicada la noticia. Es más preciso hacerlo utilizando [[ISO 639-1|su código ISO]] (por ejemplo «en» para inglés, «fr» para francés o «de» para alemán. La plantilla hará que se despliegue la palabra completa («inglés» «francés» o «alemán»). Si la noticia está publicada en español, no es necesario completar este parámetro en Wikipedia en español.<br />
* '''ubicación''': aquí va el lugar en donde se publicó la noticia; por ej. [[París]].<br />
<br />
== TemplateData ==<br />
{{Encabezamiento de TemplateData}}<br />
<br />
<templatedata><br />
{<br />
"description": "Esta plantilla proporciona un formato común para citar una noticia con todos los datos que se consideren oportunos.",<br />
"params": {<br />
"apellidos": {<br />
"label": "Apellidos",<br />
"description": "Apellido o apellidos del autor de la noticia. No debe llevar enlace interno; dicho enlace se puede especificar con el parámetro enlaceautor. Incompatible con el parámetro autor.",<br />
"type": "string/line",<br />
"aliases": [<br />
"last1",<br />
"apellido"<br />
],<br />
"suggested": true<br />
},<br />
"nombre": {<br />
"label": "Nombre",<br />
"description": "Nombre, nombres o iniciales del autor de la noticia. No debe llevar enlace interno; dicho enlace se puede especificar con el parámetro enlaceautor. Incompatible con el parámetro autor.",<br />
"type": "string/line",<br />
"aliases": [<br />
"first1",<br />
"nombres",<br />
"nombre1",<br />
"given1"<br />
],<br />
"suggested": true<br />
},<br />
"autor": {<br />
"label": "Autor",<br />
"description": "Nombre completo del autor de la noticia, si no es posible o adecuado especificarlo mediante los parámetros nombre y apellidos; incompatible con esos parámetros. No debe llevar enlace interno; dicho enlace se puede especificar con el parámetro enlaceautor.",<br />
"type": "string/line",<br />
"aliases": [<br />
"author",<br />
"authors",<br />
"autor",<br />
"autores"<br />
]<br />
},<br />
"enlaceautor": {<br />
"label": "Enlace al autor",<br />
"description": "Título exacto del artículo existente en Wikipedia sobre el autor, que puede no coincidir con el título más natural, por necesidades de desambiguación.",<br />
"type": "wiki-page-name",<br />
"aliases": [<br />
"authorlink1",<br />
"author-link",<br />
"author1-link",<br />
"authorlink",<br />
"enlaceautor1"<br />
]<br />
},<br />
"título": {<br />
"label": "Título",<br />
"description": "Título de la noticia; aparecerá entre comillas angulares.",<br />
"type": "string",<br />
"aliases": [<br />
"title",<br />
"titulo"<br />
],<br />
"required": true<br />
},<br />
"url": {<br />
"label": "URL",<br />
"description": "Dirección en línea donde puede encontrarse la noticia.",<br />
"type": "string",<br />
"suggested": true<br />
},<br />
"formato": {<br />
"label": "Formato",<br />
"description": "Formato del contenido enlazado en la URL, p. ej. PDF; si no se especifica, se supone HTML.",<br />
"type": "string",<br />
"aliases": [<br />
"format"<br />
]<br />
},<br />
"fecha": {<br />
"label": "Fecha",<br />
"description": "Fecha en la que está datada la noticia, en formato largo, p. ej. 21 de enero de 2001; no debe llevar enlace interno.",<br />
"type": "string",<br />
"suggested": true,<br />
"aliases": [<br />
"date"<br />
]<br />
},<br />
"fechaacceso": {<br />
"label": "Fecha de acceso",<br />
"description": "Fecha de consulta de la dirección especificada en el parámetro url, en formato largo, p. ej. 21 de enero de 2001; no debe llevar enlace interno. La fecha se mostrará precedida de las palabras «Consultado el».",<br />
"type": "string",<br />
"suggested": true,<br />
"aliases": [<br />
"accessdate"<br />
]<br />
},<br />
"agencia": {<br />
"label": "Agencia",<br />
"description": "Agencia de noticias que proporcionó el contenido; se recomienda incluir enlace interno.",<br />
"type": "string",<br />
"aliases": [<br />
"agency"<br />
]<br />
},<br />
"periódico": {<br />
"label": "Periódico",<br />
"description": "Periódico que publicó la noticia; se recomienda incluir enlace interno.",<br />
"type": "string",<br />
"suggested": true,<br />
"aliases": [<br />
"agency",<br />
"periodico"<br />
]<br />
},<br />
"editorial": {<br />
"label": "Editorial",<br />
"description": "Editorial del periódico que publica la noticia; no debe incluir siglas como S. A. o S. L.",<br />
"type": "string",<br />
"aliases": [<br />
"publisher"<br />
]<br />
},<br />
"ubicación": {<br />
"label": "Ubicación",<br />
"description": "Ubicación geográfica donde se publicó la noticia.",<br />
"type": "string",<br />
"aliases": [<br />
"lugar",<br />
"place",<br />
"location",<br />
"ubicacion"<br />
],<br />
"suggested": true<br />
},<br />
"página": {<br />
"label": "Página",<br />
"description": "Página (única) del periódico donde se encuentra la noticia. Aparece precedida de la abreviatura «p.», salvo si se usa el parámetro sinpp. Incompatible con el parámetro páginas.",<br />
"type": "string",<br />
"suggested": true,<br />
"aliases": [<br />
"page",<br />
"pagina"<br />
]<br />
},<br />
"páginas": {<br />
"label": "Páginas",<br />
"description": "Páginas del periódico donde comienza y termina la noticia, separadas por un guion. Aparecen precedidas de la abreviatura «pp.», salvo si se usa el parámetro sinpp. Incompatible con el parámetro página.",<br />
"type": "string",<br />
"aliases": [<br />
"pages"<br />
]<br />
},<br />
"número": {<br />
"label": "Número",<br />
"description": "Número de la revista en la que se publicó el artículo.",<br />
"type": "string",<br />
"aliases": [<br />
"issue",<br />
"numero"<br />
],<br />
"suggested": true<br />
},<br />
"año": {<br />
"label": "Año",<br />
"description": "Año en el que se publicó el artículo.",<br />
"type": "string",<br />
"aliases": [<br />
"year"<br />
]<br />
},<br />
"issn": {<br />
"label": "ISSN",<br />
"description": "ISSN de la serie.",<br />
"type": "string",<br />
"aliases": [<br />
"issn"<br />
]<br />
},<br />
"sinpp": {<br />
"label": "Sin pp",<br />
"description": "Indicación de que debe omitirse la abreviatura «p.» o «pp.» delante del valor del parámetro página o páginas; el efecto se producirá sea cual sea el valor introducido.",<br />
"type": "string",<br />
"aliases": [<br />
"nopp"<br />
]<br />
},<br />
"id": {<br />
"label": "Identificador",<br />
"description": "Identificador único en alguna base de datos; deberá especificarse mediante una plantilla de las existentes en Categoría:Wikipedia:Plantillas de identificadores de obras de referencia.",<br />
"type": "string"<br />
},<br />
"idioma": {<br />
"label": "Idioma",<br />
"description": "Idioma de la noticia, en minúsculas; si es el español, no debe indicarse.",<br />
"type": "string",<br />
"aliases": [<br />
"language",<br />
"lenguaje"<br />
]<br />
},<br />
"cita": {<br />
"label": "Cita",<br />
"description": "Cita relevante de la noticia; aparecerá entre comillas angulares.",<br />
"type": "string",<br />
"aliases": [<br />
"quote"<br />
]<br />
},<br />
"fechaarchivo": {<br />
"aliases": [<br />
"archive-date",<br />
"archivedate"<br />
],<br />
"label": "Fecha de archivo",<br />
"description": "Fecha en que se archivó la URL.",<br />
"type": "date"<br />
},<br />
"sitioweb": {<br />
"label": "Sitio web",<br />
"description": "Nombre del periódico, revista o periódico; pantallas después del título",<br />
"example": "[[The Wall Street Journal]]",<br />
"type": "wiki-page-name"<br />
},<br />
"urlarchivo": {<br />
"label": "URL de archivo",<br />
"type": "url"<br />
}<br />
},<br />
"maps": {<br />
"citoid": {<br />
"title": "título",<br />
"url": "url",<br />
"publisher": "editorial",<br />
"publicationTitle": "periódico",<br />
"date": "fecha",<br />
"accessDate": "fechaacceso",<br />
"location": "ubicación",<br />
"ISSN": [<br />
"issn"<br />
],<br />
"pages": "páginas",<br />
"issue": "número",<br />
"language": "idioma",<br />
"contributor": [<br />
[<br />
"nombre",<br />
"apellidos"<br />
]<br />
],<br />
"author": [<br />
[<br />
"nombre",<br />
"apellidos"<br />
]<br />
]<br />
}<br />
}<br />
}<br />
</templatedata><br />
<br />
<includeonly><br />
[[Categoría:ProleWiki:Plantillas de referencias]]<br />
</includeonly></div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Cita_noticia&diff=5910Plantilla:Cita noticia2024-03-03T23:30:19Z<p>Miguel: Creación de «Plantilla:Cita noticia»</p>
<hr />
<div><includeonly>{{#invoke:Citas|cita|ClaseCita=noticia}}</includeonly><noinclude>{{documentación}}</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Epc/doc&diff=5909Plantilla:Epc/doc2024-03-03T23:26:56Z<p>Miguel: Creación de «Plantilla:Epc/doc»</p>
<hr />
<div>{{subpágina de documentación}}<br />
La plantilla '''epc''' (''enlace plantilla código'') se usa para mostrar el nombre de una página (especialmente una [[Ayuda:Plantillas|plantilla]] o una [[Usuario:Userbox|userbox]]) rodeado por llaves dobles pero sin enlazar, tal como se vería en el código. Se pueden especificar hasta ''nueve'' parámetros como se usarían en la propia plantilla. Su principal uso es en instrucciones y páginas de documentación.<br />
<br />
== Uso ==<br />
; Uso básico<br />
<pre>{{epc|nombre de plantilla a mostrar}}</pre><br />
<br />
; Uso con parámetros<br />
<pre>{{epc|nombre de plantilla a mostrar|parámetro1|parámetro2|...|parámetro10}}</pre><br />
; Uso con más de nueve parámetros<br />
Para incluir muchos parámetros, se pueden agrupar varios de ellos encerrándolos en una etiqueta «nowiki»<br />
<pre>{{Epc|nombre de plantilla|parámetro1|&lt;nowiki>A|B|...|Z&lt;/nowiki>|parámetro3}}</pre><br />
<br />
=== Ejemplos ===<br />
{| class="wikitable"<br />
! Código<br />
! Resultado<br />
|-<br />
| <code><nowiki>{{Epc|Commons}}</nowiki></code><br />
| {{Epc|Commons}}<br />
|-<br />
| <code><nowiki>{{Epc|Commons|casa|casas|preposicion{{=}}de}}</nowiki></code><br />
| {{Epc|Commons|casa|casas|preposición{{=}}de}}<br />
|}<br />
<br />
== Redirecciones ==<br />
* {{epr|tlc}}<br />
* {{epr|tlf}}<br />
<br />
== Véase también ==<br />
* {{ep|ep}}<br />
* {{ep|tlx}}<br />
* {{ep|epr}}<br />
<br />
<includeonly><br />
[[Categoría:ProleWiki:Plantillas de enlaces internos]]<br />
[[Categoría:ProleWiki:Plantillas de plantillas]]<br />
<br />
</includeonly></div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Epc&diff=5908Plantilla:Epc2024-03-03T23:25:26Z<p>Miguel: Creación de «Plantilla:Epc»</p>
<hr />
<div><code>&#123;&#123;{{#if:{{{1|}}}|{{{1}}}| epc&#124;...}}<!--<br />
-->{{#ifeq:{{{2|x}}}|{{{2|}}}| &#124;{{{2}}} | }}<!--<br />
-->{{#ifeq:{{{3|x}}}|{{{3|}}}| &#124;{{{3}}} | }}<!--<br />
-->{{#ifeq:{{{4|x}}}|{{{4|}}}| &#124;{{{4}}} | }}<!--<br />
-->{{#ifeq:{{{5|x}}}|{{{5|}}}| &#124;{{{5}}} | }}<!--<br />
-->{{#ifeq:{{{6|x}}}|{{{6|}}}| &#124;{{{6}}} | }}<!--<br />
-->{{#ifeq:{{{7|x}}}|{{{7|}}}| &#124;{{{7}}} | }}<!--<br />
-->{{#ifeq:{{{8|x}}}|{{{8|}}}| &#124;{{{8}}} | }}<!--<br />
-->{{#ifeq:{{{9|x}}}|{{{9|}}}| &#124;{{{9}}} | }}<!--<br />
-->{{#ifeq:{{{10|x}}}|{{{10|}}}| &#124;{{{10}}} | }}<!--<br />
-->&#125;&#125;</code><noinclude>{{documentación}}</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Esd/doc&diff=5907Plantilla:Esd/doc2024-03-03T23:22:10Z<p>Miguel: Edición de «Plantilla:Esd/doc» remover enlace.</p>
<hr />
<div>{{subpágina de documentación}}<br />
=== Uso ===<br />
Esta plantilla auxiliar permite introducir un espacio duro en los artículos. Este carácter se codifica mediante el lenguaje [[HTML]] «<code>&amp;nbsp;</code>», pero puede ser difícil de recordar y empeora la legibilidad del texto a la hora de editarlo, pues introduce caracteres como «&» y «;», que generan confusión.<br />
<br />
El espacio duro evita que se produzca un salto de línea allí donde se escriba, por lo que es muy adecuado cuando el espacio entre dos palabras, números o caracteres rompería la lectura si se produjese un salto de línea: <br />
* En la separación de los miles de los números —véase [[ProleWiki:Manual de estilo#Números|la entrada del Manual de estilo]]—: {{color|#006F00;|200{{esd}}000}} y no {{color|#B20000;|200000}}.<br />
* En cifras que llevan asociada una unidad de medida —véase [[ProleWiki:Manual de estilo#Unidades|la entrada del Manual de estilo]]—: {{color|#006F00;|100{{esd}}€}} y no {{color|#B20000;|100€}}.<br />
* En siglas o acrónimos: a.{{esd}}C., {{esd|J. R. R. Tolkien}}<br />
<br />
La plantilla se puede usar de tres maneras:<br />
# Introduciendo todo el texto como un solo parámetro, separado con espacios normales: {{epc|esd|123 456 789}} → {{esd|123 456 789}}<br />
# Introduciendo como un parámetro cada texto diferenciado: {{epc|esd|123|456|789}} → {{esd|123|456|789}}<br />
# Sin parámetros, en el lugar del espacio duro: <code><nowiki>123{{esd}}456{{esd}}789</nowiki></code> → 123{{esd}}456{{esd}}789<br />
<br />
En general, no es recomendable usar esta plantilla sin parámetros, especialmente si los espacios que se necesita introducir son varios:<br />
* En la separación de los miles de los números: {{epc|esd|200 000 000}} para {{esd|200 000 000}}.<br />
* En cifras que llevan asociada una unidad de medida: {{epc|esd|100 000 m/s}} para {{esd|100 000 m/s}} o {{epc|esd|1508|km²}} para {{esd|1508|km²}}.<br />
* En siglas o acrónimos: {{epc|esd|J. R. R. Tolkien}} para {{esd|J. R. R. Tolkien}}.<br />
<br />
Véase el [[ProleWiki:Manual de estilo#Espacios duros|manual de estilo]] para obtener más información.<br />
<br />
=== Véase también ===<br />
*{{ep|nowrap}}<br />
*{{ep|gaps}}<br />
<br />
=== TemplateData ===<br />
<templatedata><br />
{<br />
"params": {<br />
"1": {<br />
"description": "Si los espacios que se necesita introducir son varios",<br />
"example": "{{esd|200 000 000}} para 200 000 000",<br />
"type": "unknown",<br />
"label": "Texto"<br />
}<br />
},<br />
"description": "Esta plantilla auxiliar permite introducir un espacio duro en los artículos."<br />
}<br />
</templatedata><br />
<includeonly>[[Categoría:ProleWiki:Plantillas de formato de texto]]</includeonly></div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:AP/doc&diff=5906Plantilla:AP/doc2024-03-03T23:11:26Z<p>Miguel: Creación de «Plantilla:AP/doc»</p>
<hr />
<div>{{subpágina de documentación}}<br />
Esta plantilla sirve para indicar que un [[Ayuda:Artículo|artículo]], anexo, categoría o sección de estos, tiene una página que trata el tema en profundidad al nivel de ser el '''artículo principal''' de ese tema. La plantilla también se puede usar para enlazar categorías.<br />
<br />
=== Uso ===<br />
Esta plantilla se puede usar tanto en categorías como en el espacio enciclopédico. En las categorías se puede usar sin parámetros, en los demás [[Ayuda:Espacio de nombres|espacios de nombres]] el parámetro 1 es obligatorio. Además, allí no se pueden enlazar otras categorías, estas simplemente serán omitidas.<br />
<br />
La plantilla soporta hasta cinco artículos principales. Si se necesita más es mejor considerar enlazar una categoría que los sustituya. Las páginas que utilizan la plantilla con más de cinco valores aparecen listadas en [[:Categoría:ProleWiki:Plantilla AP con demasiados parámetros]]. A su vez usa {{ep|y-e}} para decidir cuando es necesario que el [[Nexo (gramática)|nexo]] «y» sea sustituido por «e», por lo que esto está automatizado y no es necesario ningún parámetro para especificarlo.<br />
<br />
==== En categorías ====<br />
;Ejemplos:<br />
<span style="font-family:courier new"><nowiki>{{AP}}</nowiki></span> visualizará:<br />
<div class="AP" style="margin:0 0 0.2ex 1em"><span style="font-size:87%">''El artículo principal de esta categoría es:''</span> [[{{PAGENAME}}]]</div><br />
<br />
:Nota: En este caso la página principal será deducida usando la [[mw:Help:Magic words#Variables|variable]] {{Epc|PAGENAME}}.<br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Categoría:Edificios y estructuras}}</nowiki></span> visualizará:<br />
<div class="AP" style="margin:0 0 0.2ex 1em"><span style="font-size:87%">''El artículo principal de esta categoría es:''</span> (<span class="error" style="font-size:90%">especifique al menos un artículo principal</span>)</div><br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Casa}}</nowiki></span> visualizará:<br />
<div class="AP" style="margin:0 0 0.2ex 1em"><span style="font-size:87%">''El artículo principal de esta categoría es:''</span> [[Casa]]</div><br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Casa|hogar}}</nowiki></span> visualizará:<br />
<div class="AP" style="margin:0 0 0.2ex 1em"><span style="font-size:87%">''Los artículos principales de esta categoría son:''</span> [[Casa]] y [[Hogar]]</span></div><br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Casa|hogar|Categoría:Arquitectura|Anexo:Edificios más altos del mundo|iglú}}</nowiki></span> visualizará:<br />
<div class="AP" style="margin:0 0 0.2ex 1em"><span style="font-size:87%">''Los artículos principales de esta categoría son:''</span> [[Casa]], [[Hogar]], [[Anexo:Edificios más altos del mundo]] e [[Iglú]]</span></div><br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Casa|hogar|Categoría:Arquitectura|Anexo:Edificios más altos del mundo|iglú|Choza}}</nowiki></span> visualizará:<br />
<div class="AP" style="margin:0 0 0.2ex 1em"><span style="font-size:87%">''Los artículos principales de esta categoría son:''</span> [[Casa]], [[Hogar]], [[Anexo:Edificios más altos del mundo]] e [[Iglú]]</span> (<span class="error" style="font-size:90%">demasiados parámetros en {{[[Plantilla:AP|AP]]}}</span>)</div><br />
<br />
==== Otros espacios de nombres ====<br />
;Ejemplos:<br />
<span style="font-family:courier new"><nowiki>{{AP}}</nowiki></span> visualizará:<br />
{{AP}}<br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Categoría:Edificios y estructuras}}</nowiki></span> visualizará:<br />
{{AP|Categoría:Edificios y estructuras}}<br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Categoría:Edificios y estructuras|Categoría:Inmuebles}}</nowiki></span> visualizará:<br />
{{AP|Categoría:Edificios y estructuras|Categoría:Inmuebles}}<br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Casa}}</nowiki></span> visualizará:<br />
{{AP|Casa}}<br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Casa|hogar}}</nowiki></span> visualizará:<br />
{{AP|Casa|hogar}}<br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Casa|hogar|Categoría:Arquitectura|Anexo:Edificios más altos del mundo|iglú}}</nowiki></span> visualizará:<br />
{{AP|Casa|hogar|Categoría:Arquitectura|Anexo:Edificios más altos del mundo|iglú}}<br />
<br />
<span style="font-family:courier new"><nowiki>{{AP|Casa|hogar|Categoría:Arquitectura|Anexo:Edificios más altos del mundo|iglú|Choza}}</nowiki></span> visualizará:<br />
{{AP|Casa|hogar|Categoría:Arquitectura|Anexo:Edificios más altos del mundo|iglú|Choza}}<br />
<br />
==== Visualización del nombre del artículo principal ====<br />
Opcionalmente uno puede modificar la visualización del nombre del artículo principal, en especial si éste es un anexo. Para ello se usa la serie de parámetros <span style="font-family:courier new">l1=, l2=, l3=, l4= y l5=</span>. Observe que el parámetro extra usa una 'L' en minúscula, por ejemplo, <code>l1</code>, <u>no</u> <code>11</code>.<br />
<br />
;Ejemplo de uso:<br />
<span style="font-family:courier new"><nowiki>{{AP|Edificio|Anexo:Edificios más altos del mundo|l2=Lista de los rascacielos más altos del mundo}}</nowiki></span> visualizará:<br />
{{AP|Edificio|Anexo:Edificios más altos del mundo|l2=Lista de los rascacielos más altos del mundo}}<br />
<br />
=== Redirecciones ===<br />
* {{epr|Catmás}}<br />
* {{epr|CP}}<br />
<br />
=== Plantillas relacionadas ===<br />
* {{ep|Distinguir}}<br />
* {{ep|Otros usos}}<br />
* {{ep|Redirige aquí}}<br />
* {{ep|VT}}<br />
* {{ep|Extracto}}<br />
<br />
=== Véase también ===<br />
* [[ProleWiki:Manual de estilo#Enlace a artículo principal y véase también|Wikipedia:Manual de estilo - Enlace a artículo principal y véase también]]<br />
* [[ProleWiki:Extractos]]<br />
<br />
<includeonly><br />
[[Categoría:ProleWiki:Plantillas de enlaces internos]]<br />
<br />
<br />
=== TemplateData ===<br />
<templatedata><br />
{<br />
"description": "Esta es la plantilla para enlazar artículos principales en esta sección. Máximo 5 artículos por plantilla.",<br />
"params": {<br />
"1": {<br />
"label": "Nombre del artículo 1",<br />
"type": "wiki-page-name",<br />
"required": true<br />
},<br />
"2": {<br />
"label": "Nombre del artículo 2",<br />
"type": "wiki-page-name"<br />
},<br />
"3": {<br />
"label": "Nombre del artículo 3",<br />
"type": "wiki-page-name"<br />
},<br />
"4": {<br />
"label": "Nombre del artículo 4",<br />
"type": "wiki-page-name"<br />
},<br />
"5": {<br />
"label": "Nombre del artículo 5",<br />
"type": "wiki-page-name"<br />
}<br />
}<br />
}<br />
</templatedata><br />
</includeonly></div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:AP&diff=5905Plantilla:AP2024-03-03T23:09:41Z<p>Miguel: Creación de «Plantilla:AP»</p>
<hr />
<div><div class="noprint AP rellink"><!--<br />
-->{{#ifeq: {{NAMESPACE}} | {{ns:14}}<br />
| <span style="font-size:88%">{{#if: {{{2|}}} | Los artículos principales de esta categoría son | El artículo principal de esta categoría es }}:&#32;</span><!--<br />
<br />
-->{{#ifeq: {{NAMESPACE:{{{1}}}}} | {{ns:14}} | {{#if:{{{2|}}}|| ''(<span class="error" style="font-size:90%">especifique al menos un artículo principal</span>)''}} | [[{{{1|{{PAGENAME}}}}} |{{ucfirst:{{{l1|{{{1|{{PAGENAME}}}}}}}}}}]] }}<!--<br />
<br />
-->{{#ifeq: {{NAMESPACE:{{{2}}}}} | {{ns:14}} | | {{#if: {{{2|}}} | {{#ifeq: {{NAMESPACE:{{{1}}}}} | {{ns:14}} | | <span style="font-size:88%">{{#if:{{{3|}}}|{{#ifeq:{{NAMESPACE:{{{3}}}}}|{{ns:14}}|&#32;{{y-e|{{PAGENAME:{{{2}}}}}|sin texto}}&#32;|,&#32;}}|&#32;{{y-e|{{PAGENAME:{{{2}}}}}|sin texto}}&#32;}}</span>}}''[[{{{2}}} |{{ucfirst:{{{l2|{{{2}}}}}}}}]]'' }} }}<!--<br />
<br />
-->{{#ifeq: {{NAMESPACE:{{{3}}}}} | {{ns:14}} | | {{#if: {{{3|}}} | <span style="font-size:88%">{{#if:{{{4|}}}|{{#ifeq:{{NAMESPACE:{{{4}}}}}|{{ns:14}}|&#32;{{y-e|{{PAGENAME:{{{3}}}}}|sin texto}}&#32;|,&#32;}}|&#32;{{y-e|{{PAGENAME:{{{3}}}}}|sin texto}}&#32;}}</span>''[[{{{3}}} | {{ucfirst:{{{l3|{{{3}}}}}}}}]]'' }} }}<!--<br />
<br />
-->{{#ifeq: {{NAMESPACE:{{{4}}}}} | {{ns:14}} | | {{#if: {{{4|}}} | <span style="font-size:88%">{{#if:{{{5|}}}|{{#ifeq:{{NAMESPACE:{{{4}}}}}|{{ns:14}}|&#32;{{y-e|{{PAGENAME:{{{3}}}}}|sin texto}}&#32;|,&#32;}}|&#32;{{y-e|{{PAGENAME:{{{4}}}}}|sin texto}}&#32;}}</span>''[[{{{4}}} | {{ucfirst:{{{l4|{{{4}}}}}}}}]]'' }} }}<!--<br />
<br />
-->{{#ifeq: {{NAMESPACE:{{{5}}}}} | {{ns:14}} | | {{#if: {{{5|}}} | <span style="font-size:88%">&#32;{{y-e|{{PAGENAME:{{{5}}}}}|sin texto}}</span>''[[{{{5}}} | {{ucfirst:{{{l5|{{{5}}}}}}}}]]'' }} }}<!--<br />
<br />
-->{{#if:{{{6|}}} | ''(<span class="error" style="font-size:90%">demasiados parámetros en &#123;&#123;[[Plantilla:AP|AP]]&#125;&#125;</span>)''<br />
[[Categoría:ProleWiki:Plantilla AP con demasiados parámetros]]<br />
}}.<br />
| <span style="font-size:88%">{{#if: {{{2|}}}<br />
| <!--<br />
<br />
-->{{#ifeq: {{NAMESPACE:{{{1|}}}}} | {{ns:14}}<br />
| {{#ifeq: {{NAMESPACE:{{{2|{{ns:14}}:A}}}}} | {{ns:14}}<br />
| {{#ifeq: {{NAMESPACE:{{{3|{{ns:14}}:A}}}}} | {{ns:14}}<br />
| {{#ifeq: {{NAMESPACE:{{{4|{{ns:14}}:A}}}}} | {{ns:14}}<br />
| {{#ifeq: {{NAMESPACE:{{{5|{{ns:14}}:A}}}}} | {{ns:14}}<br />
| Categorías principales | Categorías y artículos principales<br />
}} | Categorías y artículos principales }} | Categorías y artículos principales }} | Categorías y artículos principales }}<br />
| {{#ifeq: {{NAMESPACE:{{{2|{{ns:14}}:A}}}}} | {{ns:14}}<br />
| {{#ifeq: {{NAMESPACE:{{{3|{{ns:14}}:A}}}}} | {{ns:14}}<br />
| {{#ifeq: {{NAMESPACE:{{{4|{{ns:14}}:A}}}}} | {{ns:14}}<br />
| {{#ifeq: {{NAMESPACE:{{{5|{{ns:14}}:A}}}}} | {{ns:14}}<br />
| Categorías y artículos principales | Artículos principales<br />
}} | Artículos principales }} | Artículos principales }} | Artículos principales }}<br />
}}:<!--<br />
<br />
--> | {{#ifeq: {{NAMESPACE:{{{1|}}}}} | {{ns:14}} | Categoría principal | Artículo principal }}:<br />
}}</span>&#32; }}<!--<br />
<br />
-->{{#ifeq: {{NAMESPACE}} | {{ns:14}} |<!-- Anula todo lo siguiente si está en el espacio Plantilla --><br />
| {{#ifeq: {{{1|{{PAGENAME}}}}} | {{FULLPAGENAME}} | ''(<span class="error" style="font-size:90%">especifique al menos un artículo principal</span>)''<br />
| ''[[:{{{1|{{PAGENAME}}}}} | {{#ifeq: {{NAMESPACE:{{{1|}}}}} | {{ns:14}} | {{PAGENAME:{{{1}}}}} | {{ucfirst:{{{l1|{{{1|{{PAGENAME}}}}}}}}}} }}]]''<!--<br />
<br />
-->{{#if: {{{2|}}} | <span style="font-size:88%">{{#if:{{{3|}}}|,&#32;|&#32;{{y-e|{{PAGENAME:{{{2}}}}}|sin texto}}&#32;}}</span>''[[:{{{2}}} | {{#ifeq: {{NAMESPACE:{{{2}}}}} | {{ns:14}} | {{PAGENAME:{{{2}}}}} | {{ucfirst:{{{l2|{{{2}}}}}}}} }}]]'' }}<!--<br />
<br />
-->{{#if: {{{3|}}} | <span style="font-size:88%">{{#if:{{{4|}}}|,&#32;|&#32;{{y-e|{{PAGENAME:{{{3}}}}}|sin texto}}&#32;}}</span>''[[:{{{3}}} | {{#ifeq: {{NAMESPACE:{{{3}}}}} | {{ns:14}} | {{PAGENAME:{{{3}}}}} | {{ucfirst:{{{l3|{{{3}}}}}}}} }}]]'' }}<!--<br />
<br />
-->{{#if: {{{4|}}} | <span style="font-size:88%">{{#if:{{{5|}}}|,&#32;|&#32;{{y-e|{{PAGENAME:{{{4}}}}}|sin texto}}&#32;}}</span>''[[:{{{4}}} | {{#ifeq: {{NAMESPACE:{{{4}}}}} | {{ns:14}} | {{PAGENAME:{{{4}}}}} | {{ucfirst:{{{l4|{{{4}}}}}}}} }}]]'' }}<!--<br />
<br />
-->{{#if: {{{5|}}} | <span style="font-size:88%">&#32;{{y-e|{{PAGENAME:{{{5}}}}}|sin texto}}</span>''[[:{{{5}}} | {{#ifeq: {{NAMESPACE:{{{5}}}}} | {{ns:14}} | {{PAGENAME:{{{5}}}}} | {{ucfirst:{{{l5|{{{5}}}}}}}} }}]]'' }}<!--<br />
<br />
-->{{#if:{{{6|}}} | &#32; ''(<span class="error" style="font-size:90%">demasiados parámetros en &#123;&#123;[[Plantilla:AP|AP]]&#125;&#125;</span>)''<br />
[[Categoría:Wikipedia:Plantilla AP con demasiados parámetros]]<br />
}}{{#if:{{{2|}}}|.}} }} }}</div><noinclude>{{documentación}}<br />
<!-- No mover a la documentación --><br />
[[Categoría:ProleWiki:Excluir al imprimir]]<br />
</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Esd/doc&diff=5904Plantilla:Esd/doc2024-03-03T23:03:01Z<p>Miguel: Creación de «Plantilla:Esd/doc»</p>
<hr />
<div>{{subpágina de documentación}}<br />
=== Uso ===<br />
Esta plantilla auxiliar permite introducir un espacio duro en los artículos. Este carácter se codifica mediante el lenguaje [[HTML]] «<code>&amp;nbsp;</code>», pero puede ser difícil de recordar y empeora la legibilidad del texto a la hora de editarlo, pues introduce caracteres como «&» y «;», que generan confusión.<br />
<br />
El [[espacio duro]] evita que se produzca un salto de línea allí donde se escriba, por lo que es muy adecuado cuando el espacio entre dos palabras, números o caracteres rompería la lectura si se produjese un salto de línea: <br />
* En la separación de los miles de los números —véase [[ProleWiki:Manual de estilo#Números|la entrada del Manual de estilo]]—: {{color|#006F00;|200{{esd}}000}} y no {{color|#B20000;|200000}}.<br />
* En cifras que llevan asociada una unidad de medida —véase [[ProleWiki:Manual de estilo#Unidades|la entrada del Manual de estilo]]—: {{color|#006F00;|100{{esd}}€}} y no {{color|#B20000;|100€}}.<br />
* En siglas o acrónimos: a.{{esd}}C., {{esd|J. R. R. Tolkien}}<br />
<br />
La plantilla se puede usar de tres maneras:<br />
# Introduciendo todo el texto como un solo parámetro, separado con espacios normales: {{epc|esd|123 456 789}} → {{esd|123 456 789}}<br />
# Introduciendo como un parámetro cada texto diferenciado: {{epc|esd|123|456|789}} → {{esd|123|456|789}}<br />
# Sin parámetros, en el lugar del espacio duro: <code><nowiki>123{{esd}}456{{esd}}789</nowiki></code> → 123{{esd}}456{{esd}}789<br />
<br />
En general, no es recomendable usar esta plantilla sin parámetros, especialmente si los espacios que se necesita introducir son varios:<br />
* En la separación de los miles de los números: {{epc|esd|200 000 000}} para {{esd|200 000 000}}.<br />
* En cifras que llevan asociada una unidad de medida: {{epc|esd|100 000 m/s}} para {{esd|100 000 m/s}} o {{epc|esd|1508|km²}} para {{esd|1508|km²}}.<br />
* En siglas o acrónimos: {{epc|esd|J. R. R. Tolkien}} para {{esd|J. R. R. Tolkien}}.<br />
<br />
Véase el [[ProleWiki:Manual de estilo#Espacios duros|manual de estilo]] para obtener más información.<br />
<br />
=== Véase también ===<br />
*{{ep|nowrap}}<br />
*{{ep|gaps}}<br />
<br />
=== TemplateData ===<br />
<templatedata><br />
{<br />
"params": {<br />
"1": {<br />
"description": "Si los espacios que se necesita introducir son varios",<br />
"example": "{{esd|200 000 000}} para 200 000 000",<br />
"type": "unknown",<br />
"label": "Texto"<br />
}<br />
},<br />
"description": "Esta plantilla auxiliar permite introducir un espacio duro en los artículos."<br />
}<br />
</templatedata><br />
<includeonly>[[Categoría:ProleWiki:Plantillas de formato de texto]]</includeonly></div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Esd&diff=5902Plantilla:Esd2024-03-03T23:01:17Z<p>Miguel: Creación de «Plantilla:Esd»</p>
<hr />
<div>{{#if:{{{1|}}}|<span style="white-space:nowrap">{{{1}}}{{#if:{{{2|}}}|&nbsp;{{{2}}}{{#if:{{{3|}}}|&nbsp;{{{3}}}{{#if:{{{4|}}}|&nbsp;{{{4}}}{{#if:{{{5|}}}|&nbsp;{{{5}}}{{#if:{{{6|}}}|&nbsp;{{{6}}}{{#if:{{{7|}}}|&nbsp;{{{7}}}{{#if:{{{8|}}}|&nbsp;{{{8}}}}}}}}}}}}}}}}}</span>|&nbsp;}}<noinclude>{{documentación}}</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Partidos_comunistas&diff=5899Plantilla:Partidos comunistas2024-03-03T21:24:32Z<p>Miguel: Creación de «Plantilla:Partidos comunistas» TODO traducir nomenclaturas y paises.</p>
<hr />
<div>{{Barra lateral con listas plegables<br />
|nombre = Partidos comunistas<br />
|listtitlestyle = border-bottom:1px solid #c20000; background:transparent; text-align:center;<br />
|pretitle = Parte de una [[:Categoría:Partidos comunistas|serie]] sobre<br />
|title = [[Partido comunista|Partidos comunistas]]<br />
|imagestyle = padding:0.4em 0 0.4em;<br />
|titlestyle = font-size:200%;font-weight:normal;<br />
<!----------------------- Africa --------------------------><br />
|list1name = Africa<br />
|list1title = Africa<br />
|list1class = hlist<br />
|list1 =<br />
* [[Algerian Party for Democracy and Socialism|Algeria]]<br />
* [[Communist Party of Benin|Benin]]<br />
* [[Voltaic Revolutionary Communist Party|Burkina Faso]]<br />
* [[Egyptian Communist Party|Egypt]]<br />
* [[Communist Party of Lesotho|Lesotho]]<br />
* [[Libyan Communist Party|Libya]]<br />
* [[Congress Party for the Independence of Madagascar|Madagascar]]<br />
* [[Communist Party of Namibia (2009)|Namibia]]<br />
* [[Democratic Way|Morocco]]<br />
* [[All-African People's Revolutionary Party|Pan-Africanism]]<br />
* ''[[Communist Party of Réunion|Réunion]]''<br />
* [[Party of Independence and Labour|Senegal]]<br />
* South Africa<br />
** [[Economic Freedom Fighters|EFF]]<br />
** [[South African Communist Party|SACP]]<br />
* [[Communist Party of South Sudan|South Sudan]]<br />
* [[Sudanese Communist Party|Sudan]]<br />
* [[Swaziland Communist Party|Swaziland]]<br />
* [[Workers' Party (Tunisia)|Tunisia]]<br />
* [[Revolutionary Communist Party of Ivory Coast|Ivory Coast]]<br />
<br />
<!---------------------- Americas -------------------------><br />
|list2name = Americas<br />
|list2title = Americas<br />
|list2class = hlist<br />
|list2 =<br />
* Argentina<br />
** [[Communist Party of Argentina|PCA]]<br />
** [[Communist Party of Argentina (Extraordinary Congress)|PCCE]]<br />
** [[Revolutionary Communist Party of Argentina|PCRA]]<br />
* [[Communist Party of Bolivia|Bolivia]]<br />
* Brazil<br />
** [[Brazilian Communist Party|PCB]]<br />
** [[Revolutionary_Communist_Party_(Brazil)|PCR]]<br />
** [[Popular_Unity_for_Socialism | PU]]<br />
** [[Party of the Worker's Cause|PCO]]<br />
* [[Socialism in Canada|Canada]]<br />
** [[Communist Party of Canada|CPC]]<br />
** [[Communist Party of Canada (Marxist–Leninist)|CPC-ML]]<br />
* Chile<br />
** [[Communist Party of Chile|PCCh]]<br />
** [[Chilean Communist Party (Proletarian Action)|PC(AP)]]<br />
* Colombia<br />
** [[Colombian Communist Party|PCC]]<br />
** [[Communist Party of Colombia (Marxist–Leninist)|PC de C (M–L)]]<br />
* [[Communist Party of Cuba|Cuba]]<br />
* [[Communist Party of Labour|Dominican Republic]]<br />
* Ecuador<br />
**[[Communist Party of Ecuador|PCE]]<br />
**[[Marxist–Leninist Communist Party of Ecuador|PCMLE]]<br />
* Mexico<br />
** [[Communist Party of Mexico (2011)|PC]]<br />
** [[Popular Socialist Party (Mexico)|PPS]]<br />
** [[Popular Socialist Party of Mexico|PPSM]]<br />
** [[Communist Party of Mexico (Marxist–Leninist)|PCMML]]<br />
* Panama<br />
** [[People's Party of Panama|PPP]]<br />
** [[Communist Party (Marxist–Leninist) of Panama|PC(ml)P]]<br />
* [[Paraguayan Communist Party|Paraguay]]<br />
* Peru<br />
** [[Peruvian Communist Party|PCP]]<br />
** [[Communist Party of Peru – Red Fatherland|PCdelP–PR]]<br />
* [[Communist Party of Uruguay|Uruguay]]<br />
* United States<br />
** [[Communist Party USA|CPUSA]]<br />
** [[Workers World Party|WWP]]<br />
** [[Party for Socialism and Liberation|PSL]]<br />
** [[Revolutionary Communist Party, USA|RCPUSA]]<br />
** [[American Party of Labor|APL]]<br />
** [[Progressive Labor Party (United States)|PLP]]<br />
** [[Party of Communists USA|PCUSA]]<br />
** [[People's Revolutionary Party|PRP]]<br />
* Venezuela<br />
** [[Communist Party of Venezuela|PCV]]<br />
** [[Marxist–Leninist_Communist_Party_of_Venezuela|PCMLV]]<br />
'''Former parties'''<br />
* Canada<br />
** [[Revolutionary Communist Party of Canada |PCR-RCP]]<br />
<!------------------------ Asia ---------------------------><br />
|list3name = Asia<br />
|list3title = Asia<br />
|list3class = hlist<br />
|list3 =<br />
* [[Communist (Maoist) Party of Afghanistan|Afghanistan]]<br />
* [[National Liberation Front – Bahrain|Bahrain]]<br />
* Bangladesh<br />
** [[Communist Party of Bangladesh|CPB]]<br />
** [[Workers Party of Bangladesh|WPB]]<br />
* [[Communist Party of Burma|Burma]]<br />
* [[Communist Party of China|China (PRC)]]<br />
* India<br />
** [[Communist Party of India|CPI]]<br />
** [[Communist Party of India (Marxist)|CPI(M)]]<br />
** [[Communist Party of India (Maoist)|CPI(Mst)]]<br />
** [[Maoist Communist Party of Manipur|MCPM]]<br />
* Iran<br />
** [[Communist Party of Iran|CPI]]<br />
** [[Tudeh Party of Iran|Tudeh]]<br />
** [[Labour Party of Iran|Toufan]]<br />
* [[Iraqi Communist Party|Iraq]]<br />
* [[Maki (political party)|"Israel"]]<br />
* [[Japanese Communist Party|Japan]]<br />
* [[Jordanian Communist Party|Jordan]]<br />
* Kazakhstan<br />
** [[Communist Party of Kazakhstan|CPK]]<br />
** [[Communist People's Party of Kazakhstan|CPPK]]<br />
* [[Communist Party of Kyrgyzstan|Kyrgyzstan]]<br />
* [[Lao People's Revolutionary Party|Laos]]<br />
* [[Lebanese Communist Party|Lebanon]]<br />
* Nepal<br />
** [[Nepal Communist Party|NCP]]<br />
** [[Nepal Workers Peasants Party|NWPP]]<br />
** [[Rastriya Janamorcha|RaJaMo]]<br />
** [[Communist Party of Nepal (Marxist–Leninist) (2002)|CPN(M-L)]]<br />
** [[Communist Party of Nepal (2013)|CPN]]<br />
** [[Communist Party of Nepal (Marxist) (2006)|CPN (Marxist)]]<br />
* [[Communist Party of Pakistan|Pakistan]]<br />
* [[Palestinian People's Party|Palestine]]<br />
* Philippines<br />
** [[Communist Party of the Philippines|CPP]]<br />
** [[Partido Komunista ng Pilipinas-1930|PKP-1930]]<br />
* [[Communist Party of Sri Lanka|Sri Lanka]]<br />
* Syria<br />
** [[Syrian Communist Party (Bakdash)|SCP (Bakdash)]]<br />
** [[Syrian Communist Party (Unified)|SCP (Unified)]]<br />
* [[Communist Party of Tajikistan|Tajikistan]]<br />
* [[Communist Party of Vietnam|Vietnam]]<br />
'''Former parties'''<br />
* Cambodia<br />
** [[Kampuchean People's Revolutionary Party|KPRP]]<br />
** [[Communist Party of Kampuchea|CPK]]<br />
* [[Communist Party of Indonesia|Indonesia]]<br />
* [[Communist Party of Korea|Korea]]<br />
* [[Malayan Communist Party|Malaya and Singapore]]<br />
**[[Communist Party of Malaya/Marxist–Leninist|Marxist–Leninist]]<br />
**[[Communist Party of Malaya/Revolutionary Faction|Revolutionary Faction]]<br />
* [[Partido Komunista ng Pilipinas-1930|Philippines]]<br />
* [[Communist Party in Saudi Arabia|Saudi Arabia]]<br />
* ''[[North Kalimantan Communist Party|Sarawak]]''<br />
* ''[[Taiwanese Communist Party|Taiwan]]''<br />
* [[Communist Party of Thailand|Thailand]]<br />
<br />
<!----------------------- Europe --------------------------><br />
|list4name = Europa<br />
|list4title = Europa<br />
|list4class = hlist<br />
|list4 =<br />
* [[Communist Party of Albania (1991)|Albania]]<br />
* [[Armenian Communist Party|Armenia]]<br />
* Austria<br />
** [[Communist Party of Austria|KPÖ]]<br />
** [[Party of Labour of Austria|PdA]]<br />
** [[Communist Initiative|KI]]<br />
* [[Azerbaijan Communist Party (1993)|Azerbaijan]]<br />
* [[Communist Party of Belarus|Belarus]]<br />
* Belgium<br />
** [[Workers' Party of Belgium|PvdA/PTB]]<br />
** [[Communist Party (Flanders)|KP]]<br />
** [[Communist Party (Wallonia)|PC]]<br />
* [[Workers' Communist Party of Bosnia and Herzegovina|Bosnia and Herzegovina]]<br />
* Bulgaria<br />
** [[Communist Party of Bulgaria|KPB]]<br />
** [[Union of Communists in Bulgaria|SKB]]<br />
* [[Socialist Labour Party of Croatia|Croatia]]<br />
* [[Progressive Party of Working People|Cyprus]]<br />
* [[Communist Party of Bohemia and Moravia|Czech Republic]]<br />
* Denmark<br />
** [[Communist Party of Denmark|DKP]]<br />
** [[Communist Party in Denmark|KPiD]]<br />
** [[Workers' Communist Party (Denmark)|APK]]<br />
* [[Communist Party of Estonia (1990)|Estonia]]<br />
* [[Communist Party of Finland (1994)|Finland]]<br />
* France<br />
** [[French Communist Party|PCF]]<br />
** [[Workers' Communist Party of France|PCOF]]<br />
** [[Pole of Communist Revival in France|PRCF]]<br />
** [[Communist Revolutionary Party of France|PCRF]]<br />
* [[Unified Communist Party of Georgia|Georgia]]<br />
* Germany<br />
** [[Communist Party of Germany (1990)|KPD]]<br />
** [[German Communist Party|DKP]]<br />
** [[Marxist–Leninist Party of Germany|MLPD]]<br />
* Greece<br />
** [[Communist Party of Greece|ΚΚΕ]]<br />
** [[Communist Organization of Greece|ΚΟΕ]]<br />
** [[Movement for the Reorganization of the Communist Party of Greece 1918–55|Anasintaxi]]<br />
* Hungary<br />
** [[Hungarian Workers' Party|Munkáspárt]]<br />
** [[Workers' Party of Hungary 2006|Munkáspárt 2006]]<br />
* Ireland<br />
** [[Communist Party of Ireland|CPI]]<br />
** [[Workers' Party of Ireland|WPI]]<br />
* Italy<br />
** [[Communist Party (Italy)|PC]]<br />
** [[Communist Refoundation Party|PRC]]<br />
* [[Socialist Party of Latvia|Latvia]]<br />
* [[Socialist People's Front|Lithuania]]<br />
* [[Communist Party of Luxembourg|Luxembourg]]<br />
* [[Communist Party of Malta|Malta]]<br />
* [[Party of Communists of the Republic of Moldova|Moldova]]<br />
* [[New Communist Party of the Netherlands|Netherlands]]<br />
* Norway<br />
** [[Communist Party of Norway|NKP]]<br />
** [[Marxist–Leninist Group Revolution |MLGR]]<br />
** [[Red Party (Norway)|R]]<br />
* [[Polish Communist Party (2002)|Poland]]<br />
* Portugal<br />
** [[Portuguese Communist Party|PCP]]<br />
** [[Portuguese Workers' Communist Party|PCTP]]<br />
* [[Communist Party (Nepeceriști)|Romania]]<br />
* Russia<br />
** [[Communists of Russia|KR]]<br />
** [[Communist Party of the Russian Federation|CPRF]]<br />
** [[Communist Party of Social Justice|CPSJ]]<br />
** [[Party of the Dictatorship of the Proletariat|PDP]]<br />
** [[Russian Communist Workers' Party of the Communist Party of the Soviet Union|RCWP-CPSU]]<br />
** [[Russian Maoist Party|RMP]]<br />
** [[Russian United Labour Front|RULF]]<br />
* [[Sammarinese Communist Refoundation|San Marino]]<br />
* [[New Communist Party of Yugoslavia|Serbia]]<br />
* [[Communist Party of Slovakia|Slovakia]]<br />
* Spain<br />
** [[Communist Party of Spain|PCE]]<br />
** [[Communists of Catalonia|CC]]<br />
** [[Communist Party of the Peoples of Spain|PCPE]]<br />
** [[Communist Party of Spain (Marxist–Leninist) |PCE (M–L)]]<br />
** [[Communist Party of the Workers of Spain|PCTE]]<br />
** [[Spanish Communist Workers' Party (1973)|PCOE]]<br />
* Sweden<br />
** [[Communist Party (Sweden)|KP]]<br />
** [[Communist Party of Sweden (1995)|SKP]]<br />
* Switzerland<br />
** [[Communist Party (Switzerland)|Communist Party (Switzerland)]]<br />
** [[Swiss Party of Labour|PdA]]<br />
* Turkey<br />
** [[Revolutionary People's Liberation Party/Front|DHKP/C]]<br />
** [[Labour Party (Turkey)|EMEP]]<br />
** [[People's Communist Party of Turkey|HTKP]]<br />
** [[Communist Revolution Movement/Leninist (Turkey)|KDH/L]]<br />
** [[Communist Party of Kurdistan|KKP]]<br />
** [[Communist Party (Turkey, 2014)|TKP]]<br />
** [[Maoist Communist Party (Turkey)|MKP]]<br />
** [[Marxist–Leninist Communist Party (Turkey)|MLKP]]<br />
** [[Revolutionary Communist Party of Turkey|TDKP]]<br />
** [[Communist Labour Party of Turkey|TKEP]]<br />
** [[Communist Labour Party of Turkey/Leninist|TKEP/L]]<br />
** [[Communist Workers Party of Turkey|TKIP]]<br />
** [[Communist Party of Turkey/Marxist–Leninist|TKP/ML]]<br />
* Ukraine<br />
** [[Communist Party of Ukraine|KPU]]<br />
** [[Union of Communists of Ukraine|SKU]]<br />
* United Kingdom<br />
** [[Communist Party of Britain|CPB]]<br />
** [[Communist Party of Britain (Marxist–Leninist)|CPB-ML]]<br />
** [[Communist Party of Great Britain (Marxist–Leninist)|CPGB-ML]]<br />
** [[Communist Party of Great Britain (Provisional Central Committee)|CPGB-PCC]]<br />
** [[Communist Party of Scotland|CPS]]<br />
** [[New Communist Party of Britain|NCPB]]<br />
** [[Revolutionary Communist Group (UK)|RCG]]<br />
** [[Revolutionary Communist Party of Britain (Marxist–Leninist)|RCPB-ML]]<br />
'''Former parties'''<br />
* [[Party of Labour of Albania|Albania]]<br />
* [[Communist Party of Czechoslovakia|Czechoslovakia]]<br />
* [[Socialist Unity Party of Germany|East Germany]]<br />
* Italy<br />
** [[Italian Communist Party|PCI]]<br />
** [[Party of Italian Communists|PdCI]]<br />
* [[Internal Macedonian Revolutionary Organization|Macedonia]]<br />
* [[Communist Party of the Netherlands|Netherlands]]<br />
* [[Polish United Workers' Party|Poland]]<br />
* [[Romanian Communist Party|Romania]]<br />
* [[Communist Party of the Soviet Union|Soviet Union]]<br />
* [[Communist Party of Turkey (historical)|Turkey]]<br />
* [[Communist Party of Great Britain|United Kingdom]]<br />
* [[Communist Party of Germany|West Germany]]<br />
* [[League of Communists of Yugoslavia|Yugoslavia]]<br />
<br />
<!---------------------- Oceania --------------------------><br />
|list5name = Oceania<br />
|list5title = Oceania<br />
|list5class = hlist<br />
|list5 =<br />
* Australia<br />
** [[Communist Party of Australia (current)|CPA]]<br />
** [[Communist Party of Australia (Marxist–Leninist)|CPA(ML)]]<br />
** [[Australian Communist Party (2019)|ACP]]<br />
** [[Socialist Alliance (Australia)|Socialist Alliance]]<br />
** [[Socialist Alternative (Australia)|Socialist Alternative]]<br />
** [[Victorian Socialists]]<br />
* New Zealand<br />
** [[Communist League (New Zealand)|CL]]<br />
** [[Organisation for Marxist Unity – New Zealand|OMU]]<br />
** [[Socialist Party of Aotearoa|SPA]]<br />
'''Former parties'''<br />
* Australia<br />
** [[Communist Alliance]]<br />
** [[Communist Party of Australia|CPA]]<br />
** [[Democratic Socialist Perspective|DSP]]<br />
** [[Revolutionary Socialist Party (Australia)|RSP]]<br />
** [[Victorian Socialist Party]]<br />
* New Zealand<br />
** [[Communist Party of New Zealand|CPNZ]]<br />
** [[Socialist Unity Party of New Zealand|SUP]]<br />
** [[Communist League (New Zealand)|CL]]<br />
<br />
<!------------------- Related topics ----------------------><br />
|list6name = relacionado<br />
|list6title = Temas relacionados<br />
|list6class = hlist<br />
|list6 =<br />
* [[Comunismo]] ([[Historia del comunismo|historia]])<br />
* [[Centralismo democrático]]<br />
* [[Marxismo-Leninismo]]<br />
<br />
}}<br />
[[Categoría:Partidos comunistas]]</div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Sidebar/styles.css&diff=5898Módulo:Sidebar/styles.css2024-03-03T21:12:15Z<p>Miguel: Creación de «Módulo:Sidebar/styles.css»</p>
<hr />
<div>/* {{pp-template}} */<br />
/* TODO: Invert width design to be "mobile first" */<br />
.sidebar {<br />
/* TODO: Ask if we should have max-width 22em instead */<br />
width: 25em;<br />
/* @noflip */<br />
float: right;<br />
/* @noflip */<br />
clear: right;<br />
/* @noflip */<br />
margin: 0.5em 0 1em 1em;<br />
background: #f8f9fa;<br />
border: 1px solid #aaa;<br />
padding: 0.2em;<br />
border-spacing: 0.4em 0;<br />
text-align: center;<br />
line-height: 1.4em;<br />
font-size: 88%;<br />
/* Timeless has display: none on .nomobile at mobile resolutions, so we<br />
* unhide it with display: table and let precedence and proximity win.<br />
*/<br />
display: table; <br />
}<br />
<br />
/* Unfortunately, so does Minerva desktop, except Minerva drops an<br />
* !important on the declaration. So we have to be mean for Minerva users.<br />
* Mobile removes the element entirely with `wgMFRemovableClasses` in <br />
* https://github.com/wikimedia/operations-mediawiki-config/blob/master/<br />
wmf-config/InitialiseSettings.php#L16992<br />
* which is why displaying it categorically with display: table works.<br />
* We don't really want to expose the generic user in the wild on mobile to have<br />
* to deal with sidebars. (Maybe the ones with collapsible lists, so that<br />
* might be an improvement. That is blocked on [[:phab:T111565]].)<br />
*/<br />
body.skin-minerva .sidebar {<br />
display: table !important;<br />
/* also, minerva is way too aggressive about other stylings on tables.<br />
* TODO remove when this template gets moved to a div. plans on talk page.<br />
* We always float right on Minerva because that's a lot of extra CSS<br />
* otherwise. */<br />
float: right !important;<br />
margin: 0.5em 0 1em 1em !important;<br />
}<br />
<br />
.sidebar a {<br />
white-space: nowrap;<br />
}<br />
<br />
.sidebar-wraplinks a {<br />
white-space: normal;<br />
}<br />
<br />
.sidebar-subgroup {<br />
width: 100%;<br />
margin: 0;<br />
border-spacing: 0;<br />
}<br />
<br />
/* TODO: Investigate whether -left and -none are used. */<br />
.sidebar-left {<br />
/* @noflip */<br />
float: left;<br />
/* @noflip */<br />
clear: left;<br />
/* @noflip */<br />
margin: 0.5em 1em 1em 0;<br />
}<br />
<br />
.sidebar-none {<br />
float: none;<br />
clear: both;<br />
/* @noflip */<br />
margin: 0.5em 1em 1em 0;<br />
}<br />
<br />
.sidebar-outer-title {<br />
padding-bottom: 0.2em;<br />
font-size: 125%;<br />
line-height: 1.2em;<br />
font-weight: bold;<br />
}<br />
<br />
.sidebar-top-image {<br />
padding: 0.4em 0;<br />
}<br />
<br />
.sidebar-top-caption,<br />
.sidebar-pretitle-with-top-image,<br />
.sidebar-caption {<br />
padding-top: 0.2em;<br />
line-height: 1.2em;<br />
}<br />
<br />
.sidebar-pretitle {<br />
padding-top: 0.4em;<br />
line-height: 1.2em;<br />
}<br />
<br />
.sidebar-title,<br />
.sidebar-title-with-pretitle {<br />
padding: 0.2em 0.4em;<br />
font-size: 145%;<br />
line-height: 1.2em;<br />
}<br />
<br />
.sidebar-title-with-pretitle {<br />
padding-top: 0;<br />
}<br />
<br />
.sidebar-image {<br />
padding: 0.2em 0 0.4em;<br />
}<br />
<br />
.sidebar-heading {<br />
padding: 0.1em;<br />
}<br />
<br />
.sidebar-content {<br />
padding: 0 0.1em 0.4em;<br />
}<br />
<br />
.sidebar-content-with-subgroup {<br />
padding: 0.1em 0 0.2em;<br />
}<br />
<br />
.sidebar-above,<br />
.sidebar-below {<br />
padding: 0.3em 0.4em;<br />
font-weight: bold;<br />
}<br />
<br />
.sidebar-collapse .sidebar-above,<br />
.sidebar-collapse .sidebar-below {<br />
border-top: 1px solid #aaa;<br />
border-bottom: 1px solid #aaa;<br />
}<br />
<br />
.sidebar-navbar {<br />
text-align: right;<br />
font-size: 115%;<br />
}<br />
<br />
.sidebar-collapse .sidebar-navbar {<br />
padding-top: 0.6em;<br />
}<br />
<br />
.sidebar-list-title {<br />
text-align: left;<br />
font-weight: bold;<br />
line-height: 1.6em;<br />
font-size: 105%;<br />
}<br />
<br />
/* centered text with mw-collapsible headers is finicky */<br />
.sidebar-list-title-c {<br />
text-align: center;<br />
margin: 0 3.3em;<br />
}<br />
<br />
@media (max-width: 720px) {<br />
/* users have wide latitude to set arbitrary width and margin :(<br />
"Super-specific" selector to prevent overriding this appearance by<br />
lower level sidebars too */<br />
body.mediawiki .sidebar {<br />
width: 100% !important;<br />
clear: both;<br />
float: none !important; /* Remove when we div based; Minerva is dumb */<br />
margin-left: 0 !important;<br />
margin-right: 0 !important;<br />
}<br />
/* TODO: We might consider making all links wrap at small resolutions and then<br />
* only introduce nowrap at higher resolutions. Do when we invert the media<br />
* query.<br />
*/<br />
}</div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Sidebar/configuration&diff=5897Módulo:Sidebar/configuration2024-03-03T21:07:58Z<p>Miguel: Creación de «Módulo:Sidebar/configuration»</p>
<hr />
<div>return {<br />
i18n = {<br />
child_yes = 'yes',<br />
float_none = 'none',<br />
float_left = 'left',<br />
wrap_true = 'true',<br />
navbar_none = 'none',<br />
navbar_off = 'off',<br />
default_list_title = 'List',<br />
title_not_to_add_navbar = 'Template:Sidebar',<br />
collapse_title_not_to_add_navbar = 'Template:Sidebar with collapsible lists',<br />
templatestyles = 'Module:Sidebar/styles.css',<br />
category = {<br />
child = '',<br />
conversion = ''<br />
},<br />
pattern = {<br />
collapse_sandbox = '/sandbox$',<br />
sandbox = '/sandbox$',<br />
subgroup = 'sidebar%-subgroup',<br />
style_conversion = 'style$',<br />
uncategorized_conversion_titles = {<br />
'/[Ss]andbox',<br />
'/[Tt]estcases',<br />
'/[Dd]oc$'<br />
}<br />
},<br />
class = {<br />
sidebar = 'sidebar',<br />
subgroup = 'sidebar-subgroup',<br />
collapse = 'sidebar-collapse',<br />
float_none = 'sidebar-none',<br />
float_left = 'sidebar-left',<br />
wraplinks = 'sidebar-wraplinks',<br />
outer_title = 'sidebar-outer-title',<br />
top_image = 'sidebar-top-image',<br />
top_caption = 'sidebar-top-caption',<br />
pretitle = 'sidebar-pretitle',<br />
pretitle_with_top_image = 'sidebar-pretitle-with-top-image',<br />
title = 'sidebar-title',<br />
title_with_pretitle = 'sidebar-title-with-pretitle',<br />
image = 'sidebar-image',<br />
caption = 'sidebar-caption',<br />
above = 'sidebar-above',<br />
heading = 'sidebar-heading',<br />
content = 'sidebar-content',<br />
content_with_subgroup = 'sidebar-content-with-subgroup',<br />
below = 'sidebar-below',<br />
navbar = 'sidebar-navbar',<br />
list = 'sidebar-list',<br />
list_title = 'sidebar-list-title',<br />
list_title_centered = 'sidebar-list-title-c',<br />
list_content = 'sidebar-list-content'<br />
}<br />
}<br />
}</div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:No_globals&diff=5896Módulo:No globals2024-03-03T20:55:19Z<p>Miguel: Creación de «Módulo:No globals»</p>
<hr />
<div>local mt = getmetatable(_G) or {}<br />
function mt.__index (t, k)<br />
if k ~= 'arg' then<br />
error('Tried to read nil global ' .. tostring(k), 2)<br />
end<br />
return nil<br />
end<br />
function mt.__newindex(t, k, v)<br />
if k ~= 'arg' then<br />
error('Tried to write global ' .. tostring(k), 2)<br />
end<br />
rawset(t, k, v)<br />
end<br />
setmetatable(_G, mt)</div>Miguelhttps://es.prolewiki.org/index.php?title=M%C3%B3dulo:Sidebar&diff=5895Módulo:Sidebar2024-03-03T20:49:39Z<p>Miguel: Creación de «Módulo:Sidebar»</p>
<hr />
<div>--<br />
-- This module implements {{Sidebar}}<br />
--<br />
require('Module:No globals')<br />
local cfg = mw.loadData('Module:Sidebar/configuration')<br />
<br />
local p = {}<br />
<br />
local getArgs = require('Module:Arguments').getArgs<br />
<br />
--[[<br />
Categorizes calling templates and modules with a 'style' parameter of any sort<br />
for tracking to convert to TemplateStyles.<br />
<br />
TODO after a long cleanup: Catch sidebars in other namespaces than Template and Module.<br />
TODO would probably want to remove /log and /archive as CS1 does<br />
]]<br />
local function categorizeTemplatesWithInlineStyles(args)<br />
local title = mw.title.getCurrentTitle()<br />
if title.namespace ~= 10 and title.namespace ~= 828 then return '' end<br />
for _, pattern in ipairs (cfg.i18n.pattern.uncategorized_conversion_titles) do<br />
if title.text:match(pattern) then return '' end<br />
end<br />
<br />
for key, _ in pairs(args) do<br />
if mw.ustring.find(key, cfg.i18n.pattern.style_conversion) or key == 'width' then<br />
return cfg.i18n.category.conversion<br />
end<br />
end<br />
end<br />
<br />
--[[<br />
For compatibility with the original {{sidebar with collapsible lists}}<br />
implementation, which passed some parameters through {{#if}} to trim their<br />
whitespace. This also triggered the automatic newline behavior.<br />
]]<br />
-- See ([[meta:Help:Newlines and spaces#Automatic newline]])<br />
local function trimAndAddAutomaticNewline(s)<br />
s = mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")<br />
if mw.ustring.find(s, '^[#*:;]') or mw.ustring.find(s, '^{|') then<br />
return '\n' .. s<br />
else<br />
return s<br />
end<br />
end<br />
<br />
--[[<br />
Finds whether a sidebar has a subgroup sidebar.<br />
]]<br />
local function hasSubgroup(s)<br />
if mw.ustring.find(s, cfg.i18n.pattern.subgroup) then<br />
return true<br />
else<br />
return false<br />
end<br />
end<br />
<br />
--[[<br />
Main sidebar function. Takes the frame, args, and an optional collapsibleClass.<br />
The collapsibleClass is and should be used only for sidebars with collapsible<br />
lists, as in p.collapsible.<br />
]]<br />
function p.sidebar(frame, args, collapsibleClass)<br />
if not args then<br />
args = getArgs(frame)<br />
end<br />
local root = mw.html.create()<br />
local child = args.child and mw.text.trim(args.child) == cfg.i18n.child_yes<br />
<br />
root = root:tag('table')<br />
if not child then<br />
root <br />
:addClass(cfg.i18n.class.sidebar)<br />
-- force collapsibleclass to be sidebar-collapse otherwise output nothing<br />
:addClass(collapsibleClass == cfg.i18n.class.collapse and cfg.i18n.class.collapse or nil)<br />
:addClass('nomobile')<br />
:addClass(args.float == cfg.i18n.float_none and cfg.i18n.class.float_none or nil)<br />
:addClass(args.float == cfg.i18n.float_left and cfg.i18n.class.float_left or nil)<br />
:addClass(args.wraplinks == cfg.i18n.wrap_true and cfg.i18n.class.wraplinks or nil)<br />
:addClass(args.bodyclass or args.class)<br />
:css('width', args.width or nil)<br />
:cssText(args.bodystyle or args.style)<br />
<br />
if args.outertitle then<br />
root<br />
:tag('caption')<br />
:addClass(cfg.i18n.class.outer_title)<br />
:addClass(args.outertitleclass)<br />
:cssText(args.outertitlestyle)<br />
:wikitext(args.outertitle)<br />
end<br />
<br />
if args.topimage then<br />
local imageCell = root:tag('tr'):tag('td')<br />
<br />
imageCell<br />
:addClass(cfg.i18n.class.top_image)<br />
:addClass(args.topimageclass)<br />
:cssText(args.topimagestyle)<br />
:wikitext(args.topimage)<br />
<br />
if args.topcaption then<br />
imageCell<br />
:tag('div')<br />
:addClass(cfg.i18n.class.top_caption)<br />
:cssText(args.topcaptionstyle)<br />
:wikitext(args.topcaption)<br />
end<br />
end<br />
<br />
if args.pretitle then<br />
root<br />
:tag('tr')<br />
:tag('td')<br />
:addClass(args.topimage and cfg.i18n.class.pretitle_with_top_image<br />
or cfg.i18n.class.pretitle)<br />
:addClass(args.pretitleclass)<br />
:cssText(args.basestyle)<br />
:cssText(args.pretitlestyle)<br />
:wikitext(args.pretitle)<br />
end<br />
else<br />
root<br />
:addClass(cfg.i18n.class.subgroup)<br />
:addClass(args.bodyclass or args.class)<br />
:cssText(args.bodystyle or args.style)<br />
end<br />
<br />
if args.title then<br />
if child then<br />
root<br />
:wikitext(args.title)<br />
else<br />
root<br />
:tag('tr')<br />
:tag('th')<br />
:addClass(args.pretitle and cfg.i18n.class.title_with_pretitle<br />
or cfg.i18n.class.title)<br />
:addClass(args.titleclass)<br />
:cssText(args.basestyle)<br />
:cssText(args.titlestyle)<br />
:wikitext(args.title)<br />
end<br />
end<br />
<br />
if args.image then<br />
local imageCell = root:tag('tr'):tag('td')<br />
<br />
imageCell<br />
:addClass(cfg.i18n.class.image)<br />
:addClass(args.imageclass)<br />
:cssText(args.imagestyle)<br />
:wikitext(args.image)<br />
<br />
if args.caption then<br />
imageCell<br />
:tag('div')<br />
:addClass(cfg.i18n.class.caption)<br />
:cssText(args.captionstyle)<br />
:wikitext(args.caption)<br />
end<br />
end<br />
<br />
if args.above then<br />
root<br />
:tag('tr')<br />
:tag('td')<br />
:addClass(cfg.i18n.class.above)<br />
:addClass(args.aboveclass)<br />
:cssText(args.abovestyle)<br />
:newline() -- newline required for bullet-points to work<br />
:wikitext(args.above)<br />
end<br />
<br />
local rowNums = {}<br />
for k, v in pairs(args) do<br />
k = '' .. k<br />
local num = k:match('^heading(%d+)$') or k:match('^content(%d+)$')<br />
if num then table.insert(rowNums, tonumber(num)) end<br />
end<br />
table.sort(rowNums)<br />
-- remove duplicates from the list (e.g. 3 will be duplicated if both heading3<br />
-- and content3 are specified)<br />
for i = #rowNums, 1, -1 do<br />
if rowNums[i] == rowNums[i - 1] then<br />
table.remove(rowNums, i)<br />
end<br />
end<br />
<br />
for i, num in ipairs(rowNums) do<br />
local heading = args['heading' .. num]<br />
if heading then<br />
root<br />
:tag('tr')<br />
:tag('th')<br />
:addClass(cfg.i18n.class.heading)<br />
:addClass(args.headingclass)<br />
:addClass(args['heading' .. num .. 'class'])<br />
:cssText(args.basestyle)<br />
:cssText(args.headingstyle)<br />
:cssText(args['heading' .. num .. 'style'])<br />
:newline()<br />
:wikitext(heading)<br />
end<br />
<br />
local content = args['content' .. num]<br />
if content then<br />
root<br />
:tag('tr')<br />
:tag('td')<br />
:addClass(hasSubgroup(content) and cfg.i18n.class.content_with_subgroup<br />
or cfg.i18n.class.content)<br />
:addClass(args.contentclass)<br />
:addClass(args['content' .. num .. 'class'])<br />
:cssText(args.contentstyle)<br />
:cssText(args['content' .. num .. 'style'])<br />
:newline()<br />
:wikitext(content)<br />
:done()<br />
-- Without a linebreak after the </td>, a nested list like<br />
-- "* {{hlist| ...}}" doesn't parse correctly.<br />
:newline()<br />
end<br />
end<br />
<br />
if args.below then<br />
root<br />
:tag('tr')<br />
:tag('td')<br />
:addClass(cfg.i18n.class.below)<br />
:addClass(args.belowclass)<br />
:cssText(args.belowstyle)<br />
:newline()<br />
:wikitext(args.below)<br />
end<br />
<br />
if not child then<br />
if args.navbar ~= cfg.i18n.navbar_none and args.navbar ~= cfg.i18n.navbar_off and<br />
(args.name or frame:getParent():getTitle():gsub(cfg.i18n.pattern.sandbox, '') ~=<br />
cfg.i18n.title_not_to_add_navbar) then<br />
root<br />
:tag('tr')<br />
:tag('td')<br />
:addClass(cfg.i18n.class.navbar)<br />
:cssText(args.navbarstyle)<br />
:wikitext(require('Module:Navbar')._navbar{<br />
args.name,<br />
mini = 1,<br />
fontstyle = args.navbarfontstyle<br />
})<br />
end<br />
end<br />
<br />
local base_templatestyles = frame:extensionTag{<br />
name = 'templatestyles', args = { src = cfg.i18n.templatestyles }<br />
}<br />
<br />
local templatestyles = ''<br />
if args['templatestyles'] and args['templatestyles'] ~= '' then<br />
templatestyles = frame:extensionTag{<br />
name = 'templatestyles', args = { src = args['templatestyles'] }<br />
}<br />
end<br />
<br />
local child_templatestyles = ''<br />
if args['child templatestyles'] and args['child templatestyles'] ~= '' then<br />
child_templatestyles = frame:extensionTag{<br />
name = 'templatestyles', args = { src = args['child templatestyles'] }<br />
}<br />
end<br />
<br />
local grandchild_templatestyles = ''<br />
if args['grandchild templatestyles'] and args['grandchild templatestyles'] ~= '' then<br />
grandchild_templatestyles = frame:extensionTag{<br />
name = 'templatestyles', args = { src = args['grandchild templatestyles'] }<br />
}<br />
end<br />
<br />
return table.concat({<br />
base_templatestyles,<br />
templatestyles,<br />
child_templatestyles,<br />
grandchild_templatestyles,<br />
tostring(root),<br />
(child and cfg.i18n.category.child or ''),<br />
categorizeTemplatesWithInlineStyles(args)<br />
})<br />
end<br />
<br />
local function list_title(args, is_centered_list_titles, num)<br />
<br />
local title_text = trimAndAddAutomaticNewline(args['list' .. num .. 'title']<br />
or cfg.i18n.default_list_title)<br />
<br />
local title<br />
if is_centered_list_titles then<br />
-- collapsible can be finicky, so provide some CSS/HTML to support<br />
title = mw.html.create('div')<br />
:addClass(cfg.i18n.class.list_title_centered)<br />
:wikitext(title_text)<br />
else<br />
title = mw.html.create()<br />
:wikitext(title_text)<br />
end<br />
<br />
local title_container = mw.html.create('div')<br />
:addClass(cfg.i18n.class.list_title)<br />
-- don't /need/ a listnumtitleclass because you can do<br />
-- .templateclass .listnumclass .sidebar-list-title<br />
:addClass(args.listtitleclass)<br />
:cssText(args.basestyle)<br />
:cssText(args.listtitlestyle)<br />
:cssText(args['list' .. num .. 'titlestyle'])<br />
:node(title)<br />
:done()<br />
<br />
return title_container<br />
end<br />
<br />
--[[<br />
Main entry point for sidebar with collapsible lists.<br />
Does the work of creating the collapsible lists themselves and including them<br />
into the args.<br />
]]<br />
function p.collapsible(frame)<br />
local args = getArgs(frame)<br />
if not args.name and<br />
frame:getParent():getTitle():gsub(cfg.i18n.pattern.collapse_sandbox, '') ==<br />
cfg.i18n.collapse_title_not_to_add_navbar then<br />
args.navbar = cfg.i18n.navbar_none<br />
end<br />
<br />
local contentArgs = {}<br />
<br />
local is_centered_list_titles<br />
if args['centered list titles'] and args['centered list titles'] ~= '' then<br />
is_centered_list_titles = true<br />
else<br />
is_centered_list_titles = false<br />
end<br />
<br />
for k, v in pairs(args) do<br />
local num = string.match(k, '^list(%d+)$')<br />
if num then<br />
local expand = args.expanded and<br />
(args.expanded == 'all' or args.expanded == args['list' .. num .. 'name'])<br />
local row = mw.html.create('div')<br />
row<br />
:addClass(cfg.i18n.class.list)<br />
:addClass('mw-collapsible')<br />
:addClass((not expand) and 'mw-collapsed' or nil)<br />
:addClass(args['list' .. num .. 'class'])<br />
:cssText(args.listframestyle)<br />
:cssText(args['list' .. num .. 'framestyle'])<br />
:node(list_title(args, is_centered_list_titles, num))<br />
:tag('div')<br />
:addClass(cfg.i18n.class.list_content)<br />
:addClass('mw-collapsible-content')<br />
-- don't /need/ a listnumstyleclass because you can do<br />
-- .templatename .listnumclass .sidebar-list<br />
:addClass(args.listclass)<br />
:cssText(args.liststyle)<br />
:cssText(args['list' .. num .. 'style'])<br />
:wikitext(trimAndAddAutomaticNewline(args['list' .. num]))<br />
<br />
contentArgs['content' .. num] = tostring(row)<br />
end<br />
end<br />
<br />
for k, v in pairs(contentArgs) do<br />
args[k] = v<br />
end<br />
<br />
return p.sidebar(frame, args, cfg.i18n.class.collapse)<br />
end<br />
<br />
return p</div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Barra_lateral_con_listas_plegables&diff=5894Plantilla:Barra lateral con listas plegables2024-03-03T20:47:55Z<p>Miguel: Creación de «Plantilla:Barra lateral con listas plegables»</p>
<hr />
<div>{{#invoke: Sidebar | collapsible }}<noinclude><br />
<!-- Add categories to the /doc subpage, interwikis to Wikidata, not here --><br />
</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=ProleWiki:Incorporaci%C3%B3n_de_editores&diff=5753ProleWiki:Incorporación de editores2023-07-28T22:12:06Z<p>Miguel: /* Guía del usuario */</p>
<hr />
<div>¡Hola <span class="myName">nuevo editor</span> y bienvenido!<br />
<br />
Esta página está destinada a ayudarte a comenzar a usar [[ProleWiki]] lo más rápido posible, ¡así que léala completamente!<br />
<br />
En segundo lugar: '''¡Por favor, envíanos tus comentarios sobre esta página!''' Únete a Discord o comunícate con [[Camarada:CriticalResist|CriticalResist]] en su página de discusión (haga clic en el enlace de su nombre). ¡Solo podemos mejorar esta experiencia de incorporación con tu ayuda!<br />
<br />
== Socializa con el equipo ==<br />
Te recomendamos que te unas a nuestro Discord aquíRecomendamos unirte a nuestro Discord aquí: https://discord.gg/ZQTBNRU9v5<br />
<br />
Nuestro Discord es donde ocurre la mayor parte de la discusión y, por lo general, recibirás una respuesta más rápido allí.<br />
<br />
Al abrir un ticket en Discord, solo danos el nombre de tu cuenta y entrarás.<br />
<br />
También tenemos un espacio Matrix si lo prefieres, pero mientras lo verificamos, rara vez se usa: https://matrix.to/#/%23prolewiki:matrix.org<br />
<br />
También tenemos otros canales que puedes seguir donde a veces publicamos anuncios y otras cosas interesantes:<br />
<br />
* Twitter: https://twitter.com/prolewiki<br />
* Lemmygrad: https://lemmygrad.ml/c/prolewiki<br />
* TikTok: https://www.tiktok.com/@prolewiki<br />
* YouTube: https://www.youtube.com/@prolewiki<br />
* Reddit: https://reddit.com/r/prolewiki<br />
<br />
'''¿También tienes redes sociales?''' ¡hazlas conocidas! Te seguiremos y nos gustará tu contenido, y también puedes twittear las ediciones que hayas hecho en la wiki (¡y tal vez incluso etiquetarnos!)<br />
<br />
== Gobernanza ==<br />
Se puede acceder a la estructura de gobierno actual de ProleWiki [[ProleWiki:Gobernanza|aquí]].<br />
<br />
Los administradores hacen trabajo técnico y político dentro del proyecto. El trabajo técnico es mantener y configurar el servidor y sus archivos. Políticamente, la administración asume un papel de tutoría y orientación en lugar de un papel directivo, ayudando a los editores a generar consenso. Los administradores aún conservan el derecho de veto, ya que su función es mantener ProleWiki en línea con nuestros [[ProleWiki:Principios|principios]] y evitar desviarse de ellos. ProleWiki también tiene compañeros que ejercen diferentes funciones, como agitprop<ref>propaganda de agitación o agitación y propaganda</ref> y reclutamiento.<br />
<br />
Los editores pueden unirse o agregarse a ciertos grupos según la demanda y el interés. Pero algunos grupos, debido a la sensibilidad del trabajo, no pueden unirse libremente. Este es el caso del trabajo técnico y de nuestro grupo de seguridad interna. El trabajo técnico está actualmente en manos de los administradores, mientras que el grupo de seguridad interna está compuesto por editores de confianza seleccionados por los administradores. El grupo fue creado durante un período de infiltración y desmantelamiento de nuestro proyecto, durante el cual se eligieron algunos editores por su excelencia en la investigación y la contraofensiva.<br />
<br />
También hay auditores, que pueden revisar las solicitudes de cuentas. Todas las solicitudes de cuenta (¡incluida la tuya!) se envían a los editores de confianza para que voten sí o no.<br />
<br />
Actualmente no hay moderadores ni en Discord ni en la Wiki.<br />
<br />
Sin embargo, ProleWiki está evolucionando muy rápidamente y esta estructura podría haber cambiado para cuando leas esta página de incorporación.<br />
<br />
== Entendiendo a los editores "De confianza" ==<br />
Cuando se aprueba tu cuenta en la wiki (y has recibido el correo electrónico que te vincula a esta página), no tienes un rol específico aparte de ser un usuario examinado.<br />
<br />
Como nuevo editor de ProleWiki, tienes los siguientes permisos:<br />
<br />
* Edición de páginas existentes<br />
* Crear nuevos temas en las páginas de discusión y responder a ellos<br />
----A medida que realizas ediciones (ya sea en ''calidad'' o ''cantidad''), la administración ([[Camarada:CriticalResist|CriticalResist]] y [[Camarada:Forte|Forte]]) te dará el rol '''De confianza''', que te permitirá crear nuevas páginas y cargar imágenes. Obtener el rol de confianza suele llevar de unas semanas a un mes de edición activa.<br />
<br />
Si crees que has participado lo suficiente, puede pedir libremente a los administradores que revisen tu cuenta y te otorguen el rol de confianza. A veces estamos sobrecargados de trabajo y olvidamos quién no ha recibido su rol de confianza. Si crees que nos hemos olvidado de ti, envíanos un mensaje.<br />
<br />
Lea esta página para obtener más información sobre lo que significa ser de confianza: [[ProleWiki:Permisos de editor de confianza|Permisos de editor de confianza]].<br />
<br />
Debes pensar en tu período antes de recibir el rol como un período de "tutoría", donde la administración te ayuda a convertirte en un editor autónomo.<br />
---- Mientras tanto y hasta que obtengas tu estado de confianza, puedes pedir a la administración u otros editores que creen una página para ti según sea necesario; ya sea en Matrix o [https://discord.gg/ZQTBNRU9v5 Discord] sería más fácil.<br />
<br />
===Hasta que tenga estos permisos...===<br />
Hasta que obtengas los permisos de confianza, te recomendamos que edites las páginas existentes para agregar contenido o incluso reescribir párrafos para facilitar el flujo de lectura. También puedes agregar categorías a nuestras páginas, agregar fuentes a los reclamos y corregir errores tipográficos y revisar.<br />
<br />
Recuerda que, como enciclopedia proletaria, nos esforzamos por hacer que nuestro contenido sea fácilmente accesible de todas las formas posibles.<br />
<br />
Si necesitas encontrar fuentes para tu edición, consulta las siguientes páginas:<br />
<br />
*[[ProleWiki:Cómo contribuir/Fuentes]] (libros)<br />
* [[:Categoría:Medios informativos antiimperialistas]] (artículos)<br />
*[[:Categoría:Medios de comunicación socialistas]] (artículos)<br />
No existen demasiadas fuentes, camaradas, ¡así que agréguelas mientras escribes!<br />
<br />
==Antes de empezar a escribir...==<br />
=== Directrices editoriales ===<br />
Familiarízate con nuestras Directrices: [[ProleWiki:Directrices editoriales]] para ayudar a mantener una apariencia cohesiva en la enciclopedia.<br />
<br />
En general, comenzarás a internalizar nuestra sensación editorial al leer la enciclopedia y ver cómo se escribe normalmente.<br />
<br />
Si bien nos inspiramos en Wikipedia en algunas áreas, no confiamos completamente en ellos y no es posible traducir las pautas y convenciones de Wikipedia 1:1 en ProleWiki. Wikipedia es una enciclopedia anticomunista con su propia cuota de problemas, y aunque nos inspiramos en lo que funcionó (ya que han tenido dos décadas para refinar sus convenciones editoriales), nuestras similitudes no van más allá.<br />
<br />
Del mismo modo, cuando comiences a escribir, no copies contenido directamente de fuentes externas, ¡no necesitamos plagiar!<br />
<br />
¡Recuerda que la gente asociará tus ediciones con '''ProleWiki mismo'''! Como tal, abstente de editar opiniones o creencias personales dentro de las páginas. Si bien no tenemos una política de "Sin punto de vista" o "Ninguna investigación original" tan estricta como Wikipedia, recuerda que las personas que leen ProleWiki asociarán tus ediciones (individuales) como algo de la "enciclopedia" (es decir, todos nosotros) dice.<br />
<br />
=== Limpia después de ti mismo ===<br />
Esencialmente, limpiar lo que ensucias significa que tú eres responsable de corregir, obtener y seguir las pautas editoriales cuando realizas una edición. Mientras que otros editores eventualmente patrullan las ediciones para corregir errores tipográficos o arreglar el formato, actualmente no tenemos la capacidad de leer dos veces cada edición. Como tal, confiamos en que cada editor se asegure de verificar tanto el formato como el contenido antes de publicar sus ediciones.<br />
<br />
=== Guía del usuario ===<br />
Estamos en el proceso de escribir un tutorial exhaustivo sobre cómo editar Prolewiki. Encuéntralo aquí: [[ProleWiki:Guía del usuario]].<br />
<br />
Esta página de tutorial te enseñará cómo usar ProleWiki de forma autónoma como un profesional. También es una buena guía de referencia si no sabes cómo hacer algo o lo olvidaste.<br />
<br />
==¡Tenemos más que solo páginas enciclopédicas! ==<br />
Tenemos un espacio para [[ProleWiki:Ensayos|Ensayos]] de formato libre, en el que puedes escribir lo que quieras (dentro de lo razonable); nuestras directrices no se aplican.<br />
<br />
También tenemos una [[ProleWiki:Biblioteca|Biblioteca]] de textos donde puedes agregar textos marxistas y no marxistas (pero socialistas).<br />
<br />
Finalmente, hemos iniciado un espacio [[ProleWiki:Citas|Citas]] donde puede publicar citas de teóricos marxistas. No lo usamos mucho, pero hemos identificado que esto es algo que la gente busca en línea, por lo que es interesante tenerlo en la wiki. A veces, también es útil tener citas para extraer cuando se escriben páginas.<br />
<br />
Si bien no puedes crear páginas directamente en esos espacios, puede pedirle a otros editores o a la administración que creen dichas páginas por ti.<br />
<br />
==En caso de conflictos con ediciones o editores ==<br />
Ten en cuenta que ProleWiki es una enciclopedia colaborativa y, como tal, todos somos voluntarios aquí para promover una educación proletaria. Por lo tanto, no lo tomes como algo personal si otro editor edita una página que tú creaste.<br />
<br />
Si tienes algún problema con un compañero, utiliza [https://discord.gg/ZQTBNRU9v5 Discord] (si están en él) o las páginas de discusión; p.ej. la página de discusión del camarada o los temas de discusión de la página.<br />
<br />
Los administradores están aquí para facilitar el discurso y la resolución de conflictos si tienes algún problema, no dudes en contactarlos.<br />
<br />
=== Código de Conducta ===<br />
Tenemos un Código de conducta aquí: [[ProleWiki: Código de conducta]]. En pocas palabras, respeta el principio de camaradería con tus camaradas y asume la buena fe de ellos en caso de conflictos.<br />
<br />
==Si tienes alguna pregunta==<br />
Nuevamente, ¡no podemos enfatizar lo suficiente que debes unirte a [https://discord.gg/ZQTBNRU9v5 Discord]! Te permitirá hablar con los otros editores y hacer tus preguntas según sea necesario. Sin embargo, entendemos que no a todo el mundo le gusta usar Discord, por lo que también puede preguntar en nuestra [[ProleWiki:Asamblea|Asamblea]] o, si es necesario, directamente en las páginas de discusión de nuestros administradores si hay algo que no entiendes o que te gustaría saber.<br />
<br />
=== Notas ===<br />
<br />
[[Category:Páginas oficiales de ProleWiki]]</div>Miguelhttps://es.prolewiki.org/index.php?title=ProleWiki:Tutorial_de_MediaWiki&diff=5752ProleWiki:Tutorial de MediaWiki2023-07-28T22:10:21Z<p>Miguel: Miguel trasladó la página ProleWiki:Tutorial de MediaWiki a ProleWiki:Guía del usuario: Cohesion con la version en ingles: Es mas una guia de usuario para el editor que un simple tutorial.</p>
<hr />
<div>#REDIRECCIÓN [[ProleWiki:Guía del usuario]]</div>Miguelhttps://es.prolewiki.org/index.php?title=ProleWiki:Gu%C3%ADa_del_usuario&diff=5751ProleWiki:Guía del usuario2023-07-28T22:10:21Z<p>Miguel: Miguel trasladó la página ProleWiki:Tutorial de MediaWiki a ProleWiki:Guía del usuario: Cohesion con la version en ingles: Es mas una guia de usuario para el editor que un simple tutorial.</p>
<hr />
<div>El objetivo de esta página es enseñar a los nuevos editores cómo editar técnicamente en ProleWiki, si no están familiarizados con MediaWiki.<br />
<br />
¡Cada editor es libre de agregar (mejorar) a esta página!<br />
<br />
== Primero: lea nuestras pautas editoriales ==<br />
Lea nuestras [[ProleWiki:Directrices editoriales|'''Directrices editoriales''']] antes de empezar a editar, que le ayudarán a ponerse al día rápidamente con nuestros patrones de escritura. En la medida de lo posible, nos gusta armonizar la sensación de nuestras páginas para que se vean uniformes en lugar de adoptar el estilo de cada editor individual, y nuestras pautas ayudan con eso.<br />
<br />
== Entendiendo la interfaz de ProleWiki ==<br />
ProleWiki utiliza la máscara Citizen para crear un tema de nuestro sitio web en el escritorio. Puedes cambiar tu tema en tus [[Especial:Preferencias#mw-prefsection-rendering|Preferencias]] si quieres usar otro.<br />
<br />
El menú se encuentra a la izquierda y es un menú vertical. Revisaremos cada ícono y botón en ese menú. (imágenes de iconos que se agregarán en la guía)<br />
¿Sabías? Puede escribir <code>/</code> en cualquier página para abrir el cuadro de búsqueda<br />
<br />
=== Logo ===<br />
El primer icono que comienza en la parte superior es el logotipo. Al hacer clic en él, volverá a la página de inicio de la instancia del idioma en la que se encuentra actualmente.<br />
<br />
=== Buscar ===<br />
El ícono de la lupa le permite buscar una página. Simplemente haga clic en él y aparecerá un cuadro de búsqueda en el medio de la pantalla, cerca de la parte superior. Escriba sus palabras clave y presione '''enter''' para buscar. A medida que escribe, las sugerencias deben completarse debajo del cuadro. La función de búsqueda es un poco difícil de manejar y, de forma predeterminada, solo buscará títulos de página. Si desea buscar contenido, debe hacer clic en "buscar en las páginas que contengan [palabra clave]".<br />
<br />
A veces, es posible que no encuentre nada a pesar de que la página existe porque ProleWiki distingue entre mayúsculas y minúsculas. Si busca "karl marx", por ejemplo, la función no arrojará ningún resultado. Sin embargo, si busca a Karl Marx, encontrará su página.<br />
<br />
Por eso es importante buscar exhaustivamente antes de crear una página nueva, para no crear duplicados.<br />
<br />
=== Megamenú ===<br />
Las tres líneas apiladas una encima de la otra son lo que comúnmente se llama un menú de hamburguesa. Al hacer clic en este botón se abrirá un megamenú. No revisaremos este megamenú, pero es probable que use mucho la primera columna (Navegación). Es probable que también use la columna "Contenido" para acceder a Ensayos y la Biblioteca.<br />
<br />
=== Configuración del tema ===<br />
En la parte inferior de la barra de navegación, primero tenemos un icono de engranaje. Estos son ajustes de tema: solo se aplicarán a este tema. Puede cambiar el tamaño de fuente, usar un tema oscuro para uso nocturno y encontrar otras configuraciones que puedan hacer que su experiencia de lectura sea más cómoda. Estos ajustes solo se aplican a usted.<br />
<br />
=== Alertas ===<br />
El ícono de la campana abre sus alertas. También recibe una insignia de notificación si algo cambia. Estas alertas solo le notificarán sobre cosas relacionadas con su cuenta, generalmente después de una acción de administración. Cuando se le agregue al grupo de confianza, por ejemplo, recibirá una alerta.<br />
<br />
=== Avisos ===<br />
El icono de bandeja de entrada/cajón abre su bandeja de entrada. Aquí es donde recibe notificaciones sobre su actividad en la wiki. Por ejemplo, si está viendo una página (consulte [[ProleWiki:Tutorial de MediaWiki#Lista de seguimiento|Lista de seguimiento]]) y alguien agrega un tema a la página de discusión, debería recibir un mensaje en su bandeja de entrada.<br />
<br />
=== Cuenta ===<br />
El último ícono, que muestra a una persona, es para la administración de su cuenta. Desde allí, puede acceder a varias de las páginas de su cuenta (Talk, Sandbox...) así como cambiar su Configuración (también llamada Preferencias).<br />
<br />
== Guía del editor visual ==<br />
No recomendamos usar esto como un tutorial. En su lugar, debe usar esto como una guía de referencia cuando necesite hacer algo pero no sepa cómo hacerlo.<br />
<br />
=== Creando una página ===<br />
<code>No puede crear páginas hasta que obtenga el rol de confianza. Para obtener más información, consulte la página [[ProleWiki:Incorporación de editores|Incorporación de editores]].</code><br />
[[Archivo:Search results.png|thumb|372x372px]]<br />
Crear una página en MediaWiki es un poco complicado. La forma más fácil es "buscar" tu página.<br />
<br />
Simplemente haga clic en el ícono de la lupa en la esquina superior izquierda y escriba el nombre que desea darle a su página. Si no existe (ejemplo aquí: [https://en.prolewiki.org/index.php?title=Special:Search&fulltext=1&search=search Search Result]), será llevado a la página de resultados de búsqueda donde debería ver algo como la captura de pantalla a la derecha.<br />
<br />
Luego puede simplemente hacer clic en el enlace rojo debajo del cuadro de búsqueda para ir al editor y crear su página. Tu página no se creará (publicará) hasta que escribas algo en el editor y presiones "Guardar cambios" (en la esquina superior derecha, o '''Ctrl+S''' en tu teclado).<br />
<br />
¡Recuerde que ProleWiki distingue entre mayúsculas y minúsculas! ¡Esto significa que [[Fidel Castro]] es una página diferente de [[Fidel castro]]! (Solo cambió la C en Castro, y puede ver que la primera página existe, pero la segunda no, el enlace está en rojo). Por este motivo, busque exhaustivamente en la wiki antes de crear una nueva página.<br />
<br />
Para evitar ese problema, puede crear [[ProleWiki:Tutorial de MediaWiki#Creación de redirecciones|Redirecciones]] de una página a otra. Haga clic en el enlace para ir a esa parte de la guía.<br />
<br />
Nuestra convención es normalmente "caso de oración". Consulte las [[ProleWiki:Directrices editoriales|Directrices editoriales]].<br />
<br />
=== Editando una página ===<br />
Para comenzar a editar una página, dirígete a su URL y luego haz clic en el botón azul "Editar" en la esquina superior derecha. Si no ve el botón, puede deberse a dos motivos:<br />
<br />
# La página está protegida contra ediciones (este es el caso de las páginas oficiales de ProleWiki)<br />
# Usted no se ha identificado<br />
<br />
Una vez que haga clic en el botón, accederá al editor visual, que es un editor WYSIWYG (lo que ve es lo que obtiene): funciona de manera muy similar a Google Docs o cualquier otro software de texto que use, completo con accesos directos.<br />
<br />
<code>Tenga en cuenta que ProleWiki no guarda borradores. Si no guarda sus ediciones antes de cerrar el editor, ¡desaparecerán por completo y no habrá forma de recuperarlas!</code><br />
<br />
==== Formatear tu texto ====<br />
En la parte superior de la página en el editor visual, debería ver la palabra '''Párrafo'''. Este es el ''estilo'' que se usa actualmente para lo que sea que estés escribiendo. Si hace clic en esa palabra, se abrirá un submenú con varios otros estilos que puede usar, como en Google Docs o Word.<br />
<br />
Para usar un estilo, simplemente coloque el cursor en cualquier parte del "párrafo" que desea aplicar (los estilos se aplican a párrafos completos y no a palabras sueltas) y haga clic en el estilo que desea usar. Luego lo aplicará y debería ver el cambio en tiempo real en el editor.<br />
<br />
==== Usando los encabezados correctamente ====<br />
Puede utilizar títulos con Ctrl+2 hasta Ctrl+6, pasando de un Título a un subtítulo de quinta importancia. Tenga en cuenta que Ctrl+1 utilizará el estilo '''Título de la página''', que diseñará su párrafo exactamente como el título de la página. Nunca usamos ese y no tenemos idea de cuál es su uso.<br />
<br />
De todos modos, al editar debe usar encabezados tanto como sea posible. Sin embargo, tenga en cuenta que no debería haber ninguna razón para ir más allá del subtítulo 2 en la mayoría de los casos. Es decir, el hecho de que tenga 5 encabezados a su disposición no significa que necesite usarlos todos.<br />
<br />
Los encabezados siguen una jerarquía, que puede ver en esta misma página, por ejemplo. Debe comenzar un capítulo con un '''Título''' (Ctrl+2), luego agregar un '''subtítulo 1''' (Ctrl+3). Los '''subtítulos 2''' están anidados dentro de los subtítulos 1, etc. O, en otras palabras, un subtítulo 3 nunca viene "antes" de un subtítulo 2.<br />
<br />
Por supuesto, separas las secciones (o capítulos) con el título principal (ctrl+2).<br />
<br />
==== Agregando fuentes ====<br />
<code>'''¡Camarada!''' Proporcione sus ediciones tanto como sea posible. ¡No hay tal cosa como demasiadas fuentes!</code><br />
<br />
Para agregar una fuente usando el editor visual, primero debe colocar el cursor donde desea que aparezca la fuente. Se verá así.<ref name=":0">fuente</ref><br />
<br />
Luego, abra el menú "Citar" en la parte superior de la pantalla y seleccione una de nuestras plantillas: generalmente "Libro o artículo científico" o "Sitio web o artículo de periódico".<br />
<br />
Haga clic en la plantilla adecuada y se abrirá un cuadro que le pedirá que complete algunos datos, como el año de publicación, el autor, el título, etc. No tiene que completar todo el cuadro, pero es recomendable completar tanto como sea posible los datos que pide la plantilla. Una vez que haya terminado, haga clic en Insertar en la esquina superior derecha.<br />
<br />
Si bien verá la pequeña mención azul <ref name=":0" />, no verá su referencia al final de su página si está agregando la primera cita. Eso es porque aún necesita insertar la ''Lista de referencia''. Para hacer eso, haga clic en Insertar en el menú superior, luego en "Más" (con una flecha apuntando hacia abajo) en el menú que se abre, y luego en ''Lista de referencias'' (precedido por un icono de libro).<br />
<br />
Finalmente, debe agregar un ''Título'' (Ctrl+2) y nombrarlo '''Referencias''', justo encima de la lista que acaba de agregar (MediaWiki no lo hace de forma predeterminada).<br />
<br />
Si hiciste todo correctamente, debería verse como en esta página: [[Fidel Castro]]. Tenga en cuenta que según nuestras [[ProleWiki:Directrices editoriales|Directrices editoriales]], las referencias van al '''final''' de una página.<br />
<br />
===== Reutilizando una fuente =====<br />
A veces, es posible que deba reutilizar una fuente en una página. Simplemente puede hacerlo haciendo clic en Citar -> Reutilizar. Esto abrirá un cuadro con todas las fuentes agregadas hasta el momento, y simplemente puede hacer clic en la fuente que desea reutilizar.<br />
<br />
==== Agregando notas ====<br />
Las notas funcionan de manera muy similar a las referencias técnicamente y, de hecho, se consideran referencias. Para incluirlas, agrega la plantilla '''Cite -> Basic''' (Ctrl+Shift+K). Escriba su nota en el cuadro y luego escriba "nota" en la opción "Usar este grupo". Se verá así:<ref group="nota">ejemplo de nota</ref><br />
<br />
Para que aparezcan las notas, tendría que agregar una lista de Referencias (en la parte superior de la lista de referencias real que existe). Selecciónelo, haga clic en "editar" y luego agregue el grupo "nota". Luego, debe agregar un encabezado llamado '''Notas''' encima de la lista. En cuanto a la estructura de la página, las Notas deben ser el penúltimo encabezado, siendo '''Referencias''' el último encabezado de la página.<br />
<br />
No usamos mucho las notas (es preferible agregar una fuente o un enlace interno, es decir, bluelink), pero pueden ser útiles en algunos casos.<br />
<br />
==== Plantillas ====<br />
[[Archivo:Template parameters example.png|thumb|317x317px]]<br />
<br />
===== Que son las plantillas =====<br />
Las plantillas son piezas específicas de código (MediaWiki) que hacen algo que podría necesitar, que generalmente es visual. Por ejemplo, los cuadros de información se basan en una plantilla. Algunas plantillas son muy específicas y otras son más generales. En el futuro, enumeraremos las Plantillas que puede usar.<br />
<br />
Nuestras plantillas existentes se pueden encontrar buscando "Plantilla:" en la wiki (es un espacio de nombres como Biblioteca o Ensayos).<br />
<br />
===== Incluir una plantilla en una página =====<br />
Para usar una plantilla, la forma más fácil es escribir <code><nowiki>{{</nowiki></code> mientras editas una página con el editor visual. Esto abrirá el cuadro de plantilla. desde allí, puede escribir el nombre de la plantilla que desea usar (por cierto, no usamos "Infobox", sino solo "Infobox País", "Infobox Persona", etc.).<br />
<br />
Una vez que comience a escribir el nombre de la plantilla (recuerde que, como siempre, se distingue entre mayúsculas y minúsculas), aparecerá un menú desplegable para sugerir algunas plantillas. Haga clic en el que desee y, si eligió el correcto, debería ver '''parámetros''' en pantalla (ver captura de pantalla). Puede escribir la información relevante en estos parámetros y luego hacer clic en Guardar, y se importará su plantilla.<br />
<br />
Para editar una plantilla, haga doble clic en ella.<br />
<br />
====== Agregando más parámetros ======<br />
Con algunas plantillas, verá parámetros adicionales que puede usar a la izquierda. Por ejemplo, en la captura de pantalla del cuadro de información del libro, puede elegir agregar la publicación, el idioma y especificar el tamaño de la imagen. Simplemente haga clic en las casillas de verificación a la izquierda para agregar el parámetro a la plantilla que está editando.<br />
<br />
====== Usar una imagen en plantillas ======<br />
Para las imágenes, escriba el nombre del archivo tal como existe en la wiki. Recuerde que cuando carga una imagen, se le pide que proporcione un nombre de archivo. Simplemente escriba el nombre tal como está; no es la URL o el nombre del archivo sin formato (con extensión), sino el que escribiste al cargar la imagen. También hay un menú desplegable de autocompletar que aparecerá una vez que comience a escribir.<br />
<br />
===== Plantillas que usamos =====<br />
<br />
* Infobox: Persona, película, empresa, país<br />
* Para obras de biblioteca: Obra de biblioteca<br />
* Puede cambiar el título mostrado escribiendo <nowiki>{{DISPLAYTITLE:su título aquí}}</nowiki>. No es una plantilla per se, así que cierre la ventana de la plantilla una vez que escriba los dos {.<br />
<br />
==== Menú de página ====<br />
[[Archivo:Hamburger menu visual editor.png|thumb|283x283px]]<br />
<br />
Un botón que aún no hemos visto es el menú colapsado en la parte superior derecha del editor visual (ver captura de pantalla).<br />
<br />
Desde este menú, puede acceder a varias configuraciones "meta" (que se aplican a toda la página independientemente del contenido) que cubriremos a continuación:<br />
<br />
===== Opciones =====<br />
Lo lleva a un cuadro que muestra casi todas las siguientes opciones a continuación.<br />
<br />
===== Categorías =====<br />
Aquí es donde se agrega una categoría a una página. Las categorías se ven así: [[:Categoría:Organizaciones imperialistas]]. Pueden ser útiles en algunos casos y las páginas deberían, en la medida de lo posible, estar categorizadas.<br />
<br />
Para agregar una categoría a una página, simplemente comience a escribir. Recuerde que, una vez más, las categorías distinguen entre mayúsculas y minúsculas. Cuando empiece a escribir, debería aparecer un cuadro debajo del campo de entrada con sugerencias de categorías existentes. Simplemente haga clic en uno de ellos para validarlo o siga escribiendo para crear una categoría completamente nueva. Presiona enter para crear tu nueva categoría.<br />
<br />
Las páginas pueden tener más de una categoría, así que simplemente repita el proceso para agregar otras categorías a una página.<br />
<br />
Puede eliminar una categoría haciendo clic en su nombre en ese cuadro y luego en el icono de la papelera en el submenú que se abre.<br />
<br />
<code>En la medida de lo posible, ¡asegúrese de no crear categorías duplicadas!</code><br />
<br />
===== Configuración de la página (redirecciones) =====<br />
La configuración de la página es principalmente desde donde podrá crear redireccionamientos, aunque podría decirse que son más fáciles de hacer en el editor de código fuente (se necesitan menos clics).<br />
<br />
Para crear una redirección, primero debe crear una nueva página. Por ejemplo, supongamos que desea redirigir ''China'' a [[República Popular China]] (nuestro nombre preferido para esta página, ya que ProleWiki usa el nombre completo de un país para titular su página). Esto significa que primero necesitaría crear la página de China y luego, sin agregar nada en el editor, ir a Configuración de la página.<br />
<br />
Marque la casilla "redirigir esta página a" y luego comience a escribir "República Popular": la página correcta debería aparecer en un campo de autocompletar.<br />
<br />
Haga clic en esa página para seleccionarla y luego haga clic en "Aplicar cambios". Finalmente, no olvides guardar tus ediciones y confirmarlas. A partir de ahora, la página de China redirigirá a las personas automáticamente a la República Popular China.<br />
<br />
===== Configuración avanzada =====<br />
Normalmente no necesita cambiar esta configuración. Puede marcar esta página como '''noindex''' para los motores de búsqueda, lo que significa que ''no debería'' aparecer en Google si lo hace (activado de manera predeterminada), y puede mostrar una pestaña en esta página para agregar una nueva sección, que en este momento esta guía no cubre.<br />
<br />
Ambos deben estar en la configuración "predeterminada", pero puede rechazar la indexación de sus ensayos si lo desea.<br />
<br />
===== Idiomas =====<br />
Para agregar una página en otro idioma (lo que hace que sea fácilmente accesible desde una instancia de idioma a otra), debe usar el editor de código fuente por ahora. (Para ser agregado).<br />
<br />
===== Plantillas utilizadas =====<br />
Esta configuración muestra qué plantillas se utilizan en la página. A veces puede ser útil en páginas grandes saber qué plantillas se están utilizando, pero esto es principalmente por razones de depuración. Aquí no es desde donde se agrega una plantilla: consulte [[ProleWiki:Tutorial de MediaWiki#Uso%20de%20plantillas|Uso de plantillas]].<br />
<br />
===== Ver de derecha a izquierda =====<br />
<br />
===== Buscar y reemplazar =====<br />
Se puede acceder a Buscar y reemplazar mediante el atajo '''ctrl+F'''. Aparecerá un menú en la parte superior de la página. Se explica por sí mismo, puede decidir buscar solo una cadena de texto o también reemplazarla si escribe algo en el campo "Reemplazar". También tiene opciones para hacer coincidir mayúsculas y minúsculas (por ejemplo, buscar solo PALABRA CLAVE y no Palabra clave), usar código de expresiones regulares (regex), buscar palabras completas o ignorar signos diacríticos.<br />
<br />
==== Guardando tus ediciones ====<br />
[[Archivo:Edit summary.png|thumb|309x309px]]<br />
Una vez que haya terminado con su edición y haga clic en "'''Guardar cambios'''", podrá completar el resumen de edición. Puedes ver cómo se ve a la derecha.<br />
<br />
Al editar el resumen, debe observar tres cosas:<br />
<br />
# Escribir el resumen en sí<br />
# Marcando la casilla de "edición menor"<br />
# Marcando la casilla "ver esta página".<br />
<br />
En el resumen, debe ser '''conciso''' pero '''exhaustivo'''. Explique brevemente todos los cambios que incorporó a la página de manera que ayude a otros editores a ver lo que editó de un vistazo.<br />
<br />
Puede marcar el cuadro de edición menor si lo desea; no hay una regla estricta sobre esto, pero generalmente reservamos la mención de edición menor para el trabajo de '''mantenimiento''': corrección de errores tipográficos y gramática, en su mayoría.<br />
<br />
Finalmente, puede optar por comenzar '''ver esta página'''. Consulte el [[ProleWiki:Tutorial de MediaWiki#Lista de seguimiento|Lista de seguimiento]] en esta guía.<br />
<br />
Para dejar de ver una página, puede abrir su perfil de usuario en la parte inferior izquierda de la pantalla y hacer clic en "Lista de seguimiento".<br />
<br />
== Crear un ensayo ==<br />
<br />
=== Comprender los espacios de nombres ===<br />
Los espacios de nombres son una particularidad de MediaWiki, pero no son difíciles de entender.<br />
<br />
Hablamos de la página [[Special:RecentChanges]] justo antes. El carácter de dos puntos (:) indica que '''Especial''' es un espacio de nombres. Después de los dos puntos está el nombre de la página.<br />
<br />
En ProleWiki, usamos el espacio de nombres '''ProleWiki:''' para todo lo que es oficial o relacionado con el wiki en sí. También tenemos el espacio de nombres '''Ensayo:''', como habrás adivinado, y finalmente veremos el espacio de nombres '''Biblioteca:''' en la siguiente sección.<br />
<br />
Los espacios de nombres nos ayudan a clasificar previamente las páginas correctamente. También le permiten saber de qué trata o se relaciona una página de un vistazo.<br />
<br />
=== Creación del ensayo en sí ===<br />
[[Archivo:Creating essay.png|thumb|391x391px]]<br />
Para crear un ensayo, tendría que agregar el espacio de nombres Ensayo: a una página.<br />
<br />
Pero, ¿cómo se "agrega" un espacio de nombres? Bueno, tienes que crear tu página (como crearías un artículo normal) y agregar el espacio de nombres tú mismo, como en la imagen de la derecha. Luego haga clic en el enlace rojo, que está resaltado en la captura de pantalla.<br />
<br />
¡Una vez más, no olvide que ProleWiki distingue entre mayúsculas y minúsculas! No se olvide de escribir '''Ensayo''' y no '''ensayo''' (aunque normalmente, el software debe poner automáticamente en mayúscula la primera letra de una nueva página).<br />
<br />
=== Escribiendo tu ensayo ===<br />
Los ensayos tienen un formato muy libre y casi todo está permitido (la única regla general es no escribir nada que pueda dañar a ProleWiki). A diferencia de los artículos, ¡puedes escribir un ensayo sobre lo que quieras de cualquier manera o forma que quieras! Son "tus" ensayos y nadie más los editará.<br />
<br />
De lo contrario, escribiría un ensayo exactamente de la misma manera que editaría una página; consulte la sección Editor visual para obtener más ayuda.<br />
<br />
=== Agregar su ensayo a la sección Ensayos ===<br />
Finalmente, una vez que su ensayo esté escrito y publicado, debe agregarlo a la sección [[ProleWiki:Ensayos|Ensayos]]. Es un proceso un poco complicado, pero una vez que lo domines, podrás hacerlo en poco tiempo.<br />
<br />
Primero, edite la sección '''Lista de obras'''.<br />
Agregamos los nombres de los autores en orden alfabético (A-Z), así que desplácese hacia abajo hasta donde aparecería su fila en la tabla.<br />
[[Archivo:Table_editing.png|thumb]]<br />
Haga clic en la fila de arriba donde estaría el suyo (si su nombre es '''Cwal''', por ejemplo, agregaría su fila debajo de '''CriticalResist''', ya que Cw está después de Cr en orden alfabético) y luego haga clic en la pequeña flecha que aparece (consulte la imagen de la derecha).<br />
<br />
Luego, haz clic izquierdo en "Insertar debajo" para agregar una nueva fila.<br />
<br />
Haga doble clic en la nueva fila para comenzar a escribir en ella. Primero, agregue su nombre de usuario en la primera columna. Luego seleccione su nombre de usuario en su totalidad y presione '''Ctrl+K''' en su teclado para abrir el cuadro de enlace. Vincule su nombre de usuario a su página; simplemente puede escribir '''Camarada:''' seguido de las primeras letras de su nombre de usuario y debería encontrarlo automáticamente.<br />
<br />
Presiona enter para confirmar el enlace.<br />
<br />
Haga doble clic en la segunda columna y agregue una '''lista de viñetas'''. La encontrará en la parte superior del editor visual, entre "Citar" e "Insertar". También debería poder escribir un asterisco (*) y presionar espacio, debería formatearse automáticamente en una lista de viñetas.<br />
<br />
Escriba el nombre de su ensayo (preferiblemente en cursiva) en esa lista de viñetas. Luego vincúlelo seleccionando el título de su ensayo, presionando ctrl+k y escribiendo Ensayo: el nombre de su ensayo. El cuadro debería encontrarlo automáticamente, pero si no lo hace, también puede pegar la URL completa en el cuadro.<br />
<br />
Finalmente, guarde sus cambios en la página y ¡listo!<br />
<br />
== Agregar obras a la Biblioteca ==<br />
{{Artículo principal|ProleWiki:Guía del usuario/Biblioteca}}<br />
'''¡Este apartado se encuentra obsoleto! Consulte el artículo principal anterior sobre cómo utilizar la nueva biblioteca.'''<br />
<br />
Agregar obras a la [[ProleWiki:Biblioteca|biblioteca]] funciona de manera muy similar a agregar un ''ensayo''. Tienes que buscar el espacio de nombres seguido del título del libro (ejemplo: [[Biblioteca:Valor, precio y beneficio]]) y luego, una vez que hayas agregado el libro en su propia página y guardado tus ediciones, ve a la página [[ProleWiki:Biblioteca|Biblioteca]] y edítela.<br />
<br />
En la página de la biblioteca, debe agregar el autor (si aún no está allí) en la categoría correcta ('''Obras complementarias''' u '''Obras no socialistas'''. También tenemos una sección para Transcripciones y Entrevistas si está agregando eso. No agregue autores a nuestros Trabajos Principales, es una sección especial). Los autores no están ordenados de ninguna manera, así que siéntete libre de agregar un autor al final de la lista.<br />
<br />
Luego agregue el trabajo debajo del autor. Al igual que los ensayos, simplemente escriba el nombre del trabajo, luego selecciónelo por completo y presione '''Ctrl + K''' para que aparezca el cuadro de enlace. Pegue la URL completa en el libro y presione Intro para guardar el enlace.<br />
<br />
<code>¡No tienes que agregar un libro completo a la vez! Definitivamente puedes hacerlo poco a poco.</code><br />
<br />
=== Agregar capítulos (subpáginas) ===<br />
Una cosa que hacemos a veces con libros especialmente grandes, como El Capital, es separar los capítulos en su propia página. Esto se parece a [[Biblioteca:Capital, vol. I/La producción de plusvalía absoluta]]. El símbolo de barra inclinada / denota una '''subpágina''', es decir, una página dentro de una página (La producción de plusvalía absoluta se encuentra ''dentro'' del Capital, vol. I).<br />
<br />
Agregar una subpágina es exactamente como crear una nueva página. Sin embargo, la forma más fácil de hacerlo es ir a la página principal, p. [[Biblioteca:Capital, vol. I]], y luego agregue <blockquote>/La_producción_de_plusvalia_absoluta</blockquote>A la propia URL en su navegador. Tenga en cuenta que los espacios deben reemplazarse por caracteres de subrayado _.<br />
<br />
=== Agregando una tabla de contenidos ===<br />
Con las subpáginas viene una tabla de '''contenidos'''. Esto utiliza la plantilla CITOC (ver [[ProleWiki:Tutorial de MediaWiki#Plantillas|Uso de plantillas]] en esta guía).<br />
<br />
(se agregarán más en esta sección pronto)<br />
<br />
== Subir y usar imágenes ==<br />
<code>Nota: no podrá subir imágenes hasta que reciba el rol de confianza. Consulte la página [[ProleWiki:Incorporación de editores|Incorporación de editores]] para obtener más información.</code><br />
<br />
Hay dos formas de subir imágenes.<br />
<br />
=== Método 1: desde la página Cargar ===<br />
Hay una página desde donde [[Special:Upload|subir]] sus archivos.<br />
<br />
Seleccione un archivo de su computadora en el campo '''Nombre de archivo fuente'''.<br />
<br />
El '''nombre de archivo de destino''' es el aspecto que tendrá su nombre en ProleWiki. Automáticamente llenará ese campo basado en su nombre de archivo.<br />
<br />
El '''resumen''' es una breve explicación de lo que representa su imagen o lo que es el documento que carga.<br />
<br />
Una vez que haya subido su imagen, siga el Método 2 para saber cómo incluirla en una página.<br />
<br />
=== Método 2: desde el editor visual ===<br />
Este es el método más fácil ya que, en la mayoría de los casos, probablemente esté subiendo una imagen mientras edita.<br />
<br />
Desde el editor visual, haga clic en '''Insertar''' en el menú superior y luego elija la primera opción: '''Imágenes y medios'''.<br />
<br />
Se abrirá un cuadro que mostrará tus últimas cargas. Si usó el método 1, así es como encontraría la imagen que cargó e insertaría en la página: simplemente haga clic en ella, luego haga clic en '''Usar esta imagen''' en la esquina superior derecha de la caja. Luego será llevado a una tercera pantalla para escribir un título y proporcionar texto alternativo. Siempre debe completar el texto alternativo para nuestros compañeros discapacitados.<br />
<br />
Si primero necesita subir la imagen, una vez que abra el cuadro '''Imágenes y medios''', haga clic en la pestaña '''Cargar''' cerca de la parte superior de esa ventana. Podrá seleccionar un archivo desde su dispositivo. Luego, haga clic en "Este es un producto del trabajo humano" (para la historia, no podemos deshacernos de este descargo de responsabilidad que por defecto dice "Confirmo que tengo los derechos para usar esta imagen"). Luego, pasará por el mismo proceso descrito en el último párrafo, donde podrá completar la información de su imagen.<br />
<br />
El título es importante ya que se muestra debajo de la imagen y ayuda a explicar qué es exactamente la imagen. Si carga un gráfico de datos, por ejemplo, es una buena práctica proporcionar un título para explicar lo que muestra el gráfico.<br />
<br />
=== Mejores prácticas (por favor siguelas) ===<br />
Recuerde que debemos ser '''accesibles''' para las personas con discapacidades y otros impedimentos. Por ese motivo, asigne a su archivo un nombre claro y preciso (y no asbjsfjbgfabrhb_final_final.jpeg) que represente el documento. Esto se usará como su texto '''alt''' en la página del archivo.<br />
<br />
No es necesario que complete el resumen, ya que no lo usamos (aunque es una buena práctica escribir de qué se trata la imagen, por ejemplo, qué representa, de manera concisa), pero por favor ¡'''titule''' sus imágenes una vez las agregas a una página! También complete el texto alternativo cuando agregue una imagen a una página: simplemente puede copiar el título y pegarlo en el campo de texto alternativo.<br />
<br />
=== Dar formato a una imagen en el editor ===<br />
Una vez que haya agregado su imagen mientras edita una página, puede formatearla un poco.<br />
<br />
En el editor visual, seleccionando y arrastrando la '''esquina inferior izquierda''' de la imagen, puedes cambiar su tamaño.<br />
<br />
Al hacer clic en la imagen y seleccionar la pestaña '''Editar''', puede formatearla un poco más: alinearla a la izquierda, al centro o a la derecha (la derecha está seleccionada de forma predeterminada), ''envolviendo'' el texto a su alrededor y seleccionando cómo se muestra la imagen (la ''miniatura'' está seleccionada de forma predeterminada). Si cambia el formato a '''Sin marco (frameless)''', por ejemplo, puede alinear una imagen en el centro de la página entre dos párrafos:<br />
[[Archivo:Map of zones of Ethiopia.svg|center|frameless|222x222px]]<br />
Finalmente, también puede arrastrar su imagen a otro lugar del artículo simplemente arrastrándola y soltándola. Aparecerá una línea entre los párrafos para mostrarle dónde se alineará la parte superior de su imagen. ¿Suena confuso? No te preocupes, la primera vez que lo hagas lo conseguirás enseguida.<br />
<br />
<code>Tenga en cuenta que normalmente mantenemos la alineación predeterminada en las imágenes según nuestras convenciones (miniatura, alineado a la derecha, ajuste de texto activado). Puede cambiar esta alineación a su gusto en Ensayos, pero no en artículos.</code><br />
<br />
== Usr de páginas de conversación/discusión ==<br />
[[Archivo:Discussion button.png|thumb|405x405px]]<br />
Todas los wikis vienen con una plantilla para las páginas de discusión por defecto. Son fáciles de acceder: al ver cualquier página, debe encontrar un botón "Discusión" en la parte superior derecha (ver captura de pantalla).<br />
<br />
Luego será llevado a la página de Discusión para esta página específica, donde puede agregar un tema o explorar los existentes.<br />
<br />
<code>Tenga en cuenta que nuestras páginas de discusión tienen algunos errores en el diseño Citizen. Para resolver ese problema, puede hacer clic en "Vista móvil" en el pie de página cuando use las páginas de discusión. Estamos trabajando para solucionarlos.</code><br />
<br />
Si desea agregar un tema, solo necesita ingresar el nombre del hilo y el primer mensaje: la estructura es como un hilo de foro.<br />
<br />
¡Siéntete libre de usar las páginas de discusión! Están aquí para ayudarlo a comunicarse con otros editores, así que no lo dude.<br />
<br />
Las páginas de discusión están disponibles en todas partes, incluso en las páginas de los usuarios, así como en las páginas oficiales protegidas de ProleWiki (como nuestras directrices editoriales). Normalmente son de libre acceso con permisos de lectura/escritura para todos los editores, independientemente del rol de confianza.<br />
<br />
== Las páginas especiales ==<br />
Las páginas especiales se pueden encontrar aquí: [[Special:SpecialPages|Especial:PáginasEspeciales]]. No están relacionados con el wiki en sí, sino con su mantenimiento y administración.<br />
<br />
Revisamos rápidamente algunas páginas especiales en esta sección que pueden resultarle interesantes en su trabajo como editor.<br />
<br />
==== La Asamblea ====<br />
Creamos una página [[ProleWiki:Asamblea|Asamblea]] para que los editores hablen entre ellos y envíen anuncios de la administración. Siéntase libre de usarlo si tiene una pregunta que afecta a todo el Wiki.<br />
<br />
==== Página de Sandbox ====<br />
[[File:Sandbox.png|thumb|263x263px]]Tu página de sandbox es una página especial que se usa para probar lo que quieras. A la mayoría de los editores les gusta usarlo para guardar borradores en los que están trabajando hasta que estén listos para ser publicados en una página real, ya que MediaWiki no guarda borradores de páginas.<br />
<br />
Para acceder a su sandbox, la forma más fácil es abrir su perfil en la parte inferior izquierda y hacer clic en "Sandbox" (como se muestra en la imagen de la derecha).<br />
<br />
Usa esa página como quieras; puedes editarlo como quieras (para probar plantillas, formatear o guardar tus borradores) sin afectar al resto del sitio si estropeas algo.<br />
<br />
==== Cambios recientes ====<br />
[[Special:RecentChanges|Cambios recientes]] es la página en la que puedes pasar la mayor parte de tu tiempo. Muestra rápidamente los cambios recientes que tuvieron lugar en la wiki. Es útil para mantenerse al día con los acontecimientos de la wiki.<br />
<br />
==== Lista de seguimiento ====<br />
[[Archivo:Watchlist.png|thumb]]<br />
Puede colocar "cualquier" página en la wiki (literalmente cualquier página) en su lista de seguimiento. Se puede acceder a su lista de seguimiento aquí: [[Special:Watchlist|Seguimiento]] (o desde el ícono de la cuenta en la parte inferior izquierda, debajo de la zona de pruebas). Desde esa página, también puede eliminar cualquier página vista.<br />
<br />
Su lista de seguimiento le enviará una notificación (también en la parte inferior izquierda, en el icono de la bandeja de entrada) cada vez que se realice una modificación en una página que está siguiendo (Vigilando). También pondrá su nombre en negrita en la página de Cambios recientes.<br />
<br />
Para comenzar a seguir una página, vaya a la página que desee, haga clic en los tres puntos pequeños en la esquina superior derecha y luego haga clic en Vigilar (con el icono de estrella).<br />
<br />
==== Páginas requeridas ====<br />
Es interesante conocer [[Special:WantedPages|Páginas requeridas]]. Son páginas que están enlazadas en otras páginas pero que aún no existen (los enlaces X mencionan entre paréntesis). Por lo tanto, se requiere porque claramente se vincula a muchos.<br />
<br />
Estas son páginas que vale la pena crear y llenar, y las páginas requeridas son siempre un buen lugar para volver si está buscando inspiración o no sabes sobre qué escribir.<br />
<br />
'''Consejo''': si aún no es un editor de confianza, ¡puede pedirle a otros editores que creen una página para usted! Ya sea en la Asamblea o en Discord.<br />
<br />
== Tabla de referencia de accesos directos ==<br />
Encontrará todos los accesos directos disponibles al editar simplemente haciendo clic en el ? en la parte superior derecha del editor visual y luego haciendo clic en "Métodos abreviados de teclado"<references /><br />
<br />
<references group="nota" /><br />
<br />
[[Category:Páginas oficiales de ProleWiki]]</div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Convenci%C3%B3n/doc&diff=5737Plantilla:Convención/doc2023-07-16T19:56:49Z<p>Miguel: Creación de «Plantilla:Convención/doc»</p>
<hr />
<div>{{Subpágina de documentación}}<br />
=== Uso ===<br />
<br />
* '''Código''': <tt><nowiki>{{Convención|Mensaje}}</nowiki></tt><br />
* '''Campo de aplicación''': debe colocarse al principio de toda página de documentación de convenciones de ProleWiki en español.<br />
* '''Categoría''': azul; informativa.<br />
<br />
=== Parámetros ===<br />
* '''Obligatorios''': Ninguno<br />
* '''Opcionales''': <br />
:*<code>Mensaje</code>; texto adicional que se presentará a continuación del mensaje '''En pocas palabras:'''. Véase también {{ep|en resumen}}.<br />
<br />
=== Categoría donde se incluyen las páginas marcadas ===<br />
* [[:Categoría:ProleWiki:Convenciones]]<br />
<br />
=== Redirecciones ===<br />
* Ninguna<br />
<br />
=== Plantillas relacionadas ===<br />
* {{ep|Manual de estilo}}<br />
<br />
<includeonly><br />
[[Categoría:ProleWiki:Plantillas de aviso de ProleWiki]]<br />
</includeonly></div>Miguelhttps://es.prolewiki.org/index.php?title=Categor%C3%ADa:ProleWiki:Indicaciones_para_el_uso_de_plantillas&diff=5736Categoría:ProleWiki:Indicaciones para el uso de plantillas2023-07-16T19:50:50Z<p>Miguel: Creación de «Categoría:ProleWiki:Indicaciones para el uso de plantillas»</p>
<hr />
<div></div>Miguelhttps://es.prolewiki.org/index.php?title=Plantilla:Convenci%C3%B3n&diff=5735Plantilla:Convención2023-07-16T19:46:59Z<p>Miguel: Creación de «Plantilla:Convención»</p>
<hr />
<div>{{Aviso<br />
| imagen = Blue check.svg<br />
| encabezado = Esta página documenta una convención de ProleWiki en español.<br />
| texto = Es un estándar generalmente aceptado que los camaradas deberían seguir, aunque se debe tratar con [[ProleWiki:Directrices editoriales|sentido común]] y pueden aplicar [[ProleWiki:Ignora las normas|excepciones ocasionales]]. Los cambios hechos en esta página deben reflejar [[ProleWiki:Asamblea|consenso]]. En caso de duda, discute tu idea en la [[{{TALKPAGENAME}}|página de discusión]].{{#if:{{{1|}}}|<hr>'''En pocas palabras:''' {{{1}}}}}<br />
}}<includeonly>[[Categoría:ProleWiki:Convenciones]]</includeonly><noinclude><br />
{{Documentación}}<br />
</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas/Userbox&diff=5734Camarada:Miguel/zona de pruebas/Userbox2023-07-14T08:00:46Z<p>Miguel: Edición de «Camarada:Miguel/zona de pruebas/Userbox» Incompleto.</p>
<hr />
<div>{{atajos|WP:EU|WP:UB|WP:Userbox|WP:UBX}}<br />
{{convención}}<br />
<br />
{{Usuario:Userbox/Userboxtop|Etiquetas de usuario|right}}<br />
{{Usuario:Userbox/Userbox |border-c=orange |id=[[Archivo:Crystal kthememgr.svg|40px]] |id-c=orange |info=Una userbox es un pequeño cuadro como este. |info-c=yellow}}<br />
{{Usuario:Userbox/Userbox-r|green|lightgreen|[[Archivo:Crystal package.png|40px]]|Las userboxes son de muchos estilos diferentes.}}<br />
{{Usuario:Userbox/Userbox-2|#0000CD|#ADD8E6|[[Archivo:Crystal package favourite.png|40px]]|Las userboxes pueden tener uno o dos lados.|[[Archivo:Ark-icon.png|40px]]}}<br />
{{Usuario:Userbox/Usuario es userbox}}<br />
{{Usuario:Userbox/Userboxbottom}}<br />
<br />
Una '''etiqueta de usuario''', también conocida por su anglicismo '''''userbox''''', o por '''caja de usuario''', '''cajita de usuario''' o '''[[Ayuda:Plantillas|plantilla]] de wikipedista''', es un pequeño cuadro de colores que permite añadir breves mensajes personales, en las correspondientes páginas de usuario, y dentro del espacio que admite el tamaño de la mencionada ''userbox''. Es una adaptación de los cuadros de [[Wikipedia:Babel|Babel]] utilizados para informar de los conocimientos idiomáticos de los usuarios y simplificar la interacción entre varias Wikipedias, o dentro del mismo proyecto. [[Wikimedia Commons]] tiene una [[:commons:Category:Icons|gran variedad de iconos]] para utilizarlos en los cuadros.<br />
<br />
Las etiquetas de usuario se utilizan para reflejar los intereses de los usuarios, sus habilidades, informaciones técnicas, actividades en la Wikipedia o simplemente por diversión. <br />
<br />
== Uso ==<br />
=== Usuarios ===<br />
<br />
* Si decides poner una imagen en una etiqueta de usuario, asegúrate de que sea libre. Mira [[Wikipedia:Derechos de autor]].<br />
* Todos los elementos y plantillas de los usuarios están bajo la [[Wikipedia:Página de usuario|política de páginas de usuario]].<br />
<br />
=== Editores ===<br />
<br />
* Las etiquetas de usuario no tienen fines enciclopédicos, y por tanto '''no''' deben utilizarse en artículos.<br />
* Las etiquetas de usuario se usan para reflejar las habilidades de un usuario, los intereses… pero son recursos públicos que residen en el espacio de usuario.<br />
* Las etiquetas de usuario deben respetar en todo momento la [[Wikipedia:Etiqueta|etiqueta]].<br />
* Wikipedia no es un lugar apropiado para hacer propaganda política, y se podrían borrar las etiquetas de usuario creadas o utilizadas con este fin.<br />
<br />
=== Localización ===<br />
<br />
{{política|votación=2006/Trasladar las etiquetas de usuario del espacio de nombres Plantilla}}<br />
<br />
Si bien las ''userboxes'' funcionan, desde un punto de vista técnico, como [[Ayuda:Plantillas|plantillas]], el espacio de nombres «Plantilla:» forma parte del contenido oficial de Wikipedia, en el cual la información debe ser neutral y poseer un propósito enciclopédico. Por ello, las userboxes no estarán localizadas en dicho espacio de nombres sino en el espacio de nombres «Usuario:». Las nuevas userboxes se crearán en dicho espacio, en subpáginas del nombre de usuario propio o del '''Usuario:Userbox''', un usuario virtual creado específicamente para este fin (ver [[Wikipedia:Página de usuario#Subpáginas de usuario|Subpáginas de usuario]] para más información). Las plantillas de usuario que se creen o encuentren en el espacio de nombres Plantilla podrán ser trasladadas al espacio de nombres Usuario en forma inmediata.<br />
<br />
== Lista de plantillas de usuario ==<br />
<br />
=== Wikis ===<br />
<br />
*''[[/Userboxes]], para las userboxes sobre userboxes.<br />
*''[[/Otras wikis]], para otros proyectos wiki en los que participas.''<br />
*''[[/Wikipedia y wikipedistas]], para el tipo de usuario, estilo de edición, posturas dentro de la Wiki y participación en otros proyectos Wikimedia.''<br />
*''[[/Wikiproyectos]], para reflejar los [[Wikipedia:Wikiproyectos|wikiproyectos]] en los que participas.''<br />
<br />
=== Utilidades ===<br />
{{Lista de columnas|2|<br />
*''[[/Escritura]] para la habilidad en la escritura.''<br />
*''[[/Informática]], para asuntos relacionados con el mundo de la informática, como sistema operativo, navegador, conexión, hardware...''<br />
* ''[[/Lenguas no-ISO]] para los idiomas no soportados por la [[Wikipedia:Babel|extensión Babel]].''<br />
*''[[/Programación]], para lenguajes de programación.''<br />
* ''[[/Tiempo]] para la zona horaria a la que perteneces.''<br />
*''[[/Trato]], para ser tuteado o tratado de usted.<br />
* ''[[/Ubicación]] para la ubicación y nacionalidad del wikipedista.''}}<br />
<br />
=== Gustos ===<br />
{{Lista de columnas|2|<br />
*''[[/Alimentos]], según hábitos alimenticios, dietas, etc.''<br />
*''[[/Anime]], para tus series anime favoritas.''<br />
*''[[/Automóvil]], para hablar de coches.<br />
*''[[/Música/Bandas y artistas|/Bandas y artistas]]'', para gustos específicos por alguna banda o artista.<br />
*''[[/Colores]], para tu(s) color(es) favorito(s).''<br />
*''[[/Comics]], para tus gustos sobre las historietas.''<br />
*''[[/Deportes]], para deportes y equipos.''<br />
*''[[/Fotografía]], para fotografía, video, etc.''<br />
*''[[/Gramática]], para hablar de Gramática.<br />
*''[[/Juegos]], para hablar de juegos.<br />
*''[[/Libros]], para tus gustos sobre libros, sagas literarias, novelas.''<br />
*''[[/Matemáticas]], para hablar de matemáticas.<br />
*''[[/Música]], para gustos e intereses musicales.<br />
*''[[/Películas]], para tus gustos sobre películas.''<br />
*''[[/Prensa Escrita]], para tus gustos sobre los diarios y revistas que lees.''<br />
*''[[/Radios]], para tus gustos radiales (estaciones de radio, estilo de radios, etc.)''<br />
*''[[/Televisión]], para tus gustos sobre series y programas emitidos en TV.''<br />
*''[[/Ropa]], para tus gustos de la ropa que usas.''<br />
*''[[/Viajes]], para tus gustos sobre excursiones y viajes.''<br />
*''[[/Clima]], para apreciar tu clima favorito.''<br />
*''[[/Videojuegos]], para tus juegos electrónicos.''<br />
*''[[/Sitio Web]], para elegir tu sitio web preferido.''<br />
*''[[/Astronáutica]], para tus intereses en la navegación y exploración espacial.}}<br />
<br />
=== Ideas ===<br />
<br />
*''[[/Creencias]], para creencias y religiones.''<br />
*''[[/Ideales]], para convicciones morales.''<br />
*''[[/Pensamientos]], para lo que piensas sobre temas actuales en el mundo o en tu país.''<br />
*''[[/Política]], para pensamientos e ideologías políticas.''<br />
<br />
=== Ocupaciones ===<br />
<br />
*''[[/Educación]], para educación y disciplina favorita.''<br />
*''[[/Intereses]], para tus temas de interés y aficiones.''<br />
*''[[/Ocupación]], para las profesiones y actividades rutinarias que realizas a diario.''<br />
<br />
=== Vida ===<br />
{{Lista de columnas|2|<br />
*''[[/Emoticonos]], para las userboxes que reflejan tu estado de ánimo o personalidad por medio de [[emoticono]]s.<br />
*''[[/Festividades]], para festividades, celebraciones o fechas importantes.''<br />
*''[[/Humor]], para reírse o dar risa a otros.<br />
*''[[/Mascotas]], para mostrar el animal de tu predilección o el tipo de mascota que posees.''<br />
*''[[/Personalidad]], para describir tu personalidad.''<br />
*''[[/Salud]], para tu salud y tus prácticas (sean saludables o no).''<br />
*''[[/Sexualidad]], para tu género, orientación sexual y preferencias sexuales.''<br />
*''[[/Transporte]], para los sistemas de transporte que utilizas.''<br />
*''[[/Vida]], para datos personales como nombre, edad, origen, estado civil, nacionalidad.''<br />
*''[[/Zodiaco]], para tu signo.''}}<br />
<br />
=== Otras ===<br />
<br />
*''[[/Userbox por categorizar]], para las userboxes que no caben (o que podrían caber) en alguna de las categorías de más arriba.''<br />
<br />
== Cómo diseñar una etiqueta de usuario ==<br />
<br />
Hay una gran variedad de tipos de cajas para elegir cuando se hace una etiqueta de usuario. El diseño que se usa más a menudo es la «caja estándar». Tiene un área cuadrada a la izquierda («id») y un área rectangular a la derecha («info»).<br />
<br />
Para facilitar su uso, las userboxes se crean por medio de plantillas que tienen una cantidad de parámetros. Una vez que se guarda la plantilla, se transforma automáticamente a HTML. Por lo que es más fácil hacer previsualizaciones y así no te confundirás.<br />
<br />
{| class="wikitable"<br />
!Parámetros de la plantilla<br />
!Resultado<br />
!Valor<br />
|-<br />
|border-c<br />
|<span style="border:1px solid #333;">El '''color de borde''' de la userbox</span><br />
|[[Colores web|Valor de color CSS]] ([[hexadecimal|#hex]] o nombre del color en inglés)<br />
|-<br />
|border-s<br />
|<span style="border:4px solid #3f3;">El '''tamaño de borde''' de la userbox</span><br />
|Tamaño en píxeles<br />
|-<br />
|id-c<br />
|<span style="background:#efe">El ''' color de fondo''' de la caja «id»</span><br />
|Valor de color CSS<br />
|-<br />
|id-s<br />
|El <span style="font-size:150%">'''tamaño'''</span> de fuente del texto de la caja «id»<br />
|Tamaño en [[Punto (tipografía)|puntos PostScript]]<br />
|-<br />
|id-fc<br />
|El <span style="color:#090">'''color'''</span> de la fuente del texto de la caja «id»<br />
|Valor de color CSS<br />
|-<br />
|info-c<br />
|<span style="background:#efe">El '''color de fondo''' de la caja «info»</span><br />
|Valor de color CSS<br />
|-<br />
|info-s<br />
|El <span style="font-size:150%">'''tamaño'''</span> de la fuente de la caja «info»<br />
|Tamaño en puntos PostScript<br />
|-<br />
|info-fc<br />
|El <span style="color:#090">'''color'''</span> de la fuente de la caja «info»<br />
|Valor de color CSS<br />
|-<br />
|id<br />
|Este es el '''contenido''' de la caja «id»<br />
|Texto<br />
|-<br />
|info<br />
| Este es el '''contenido''' de la caja «info»<br />
|Texto<br />
|}<br />
<br />
=== Tipos de userbox ===<br />
{| cellspacing="1" cellpadding="2" style="background: #99f; color: #000;"<br />
!style="background: #fff;"|Código<br />
!style="background: #fff;"|Apariencia<br />
|-<br />
!colspan="2" style="background: #fff; text-align: left; padding: 0 1em;"|Caja estándar<br />
|-<br />
|style="background: #fff;"|<pre>{{Usuario:Userbox/Userbox<br />
|border-c = #000<br />
|border-s = 1<br />
|id-c = #fff<br />
|id-s = 12<br />
|id-fc = #000<br />
|info-c = #039<br />
|info-s = 8<br />
|info-fc = #fff<br />
|id = ID<br />
|info = contenido de la caja «info»<br />
}}</pre></tt><br />
|style="background: #fff;"|{{Usuario:Userbox/Userbox|border-c=#000|border-s=1|id-c=#fff|id-s=12|id-fc=#000|info-c=#039|info-s=8|info-fc=#fff|id=ID|info=contenido de la caja «info»}}<br />
|-<br />
!colspan="2" style="background: #fff; text-align: left; padding: 0 1em;"|Caja «reflejada»<br />
|-<br />
|style="background: #fff;"|<pre>{{Usuario:Userbox/Userbox-r<br />
|border-c = #000<br />
|border-s = 1<br />
|id-c = #fff<br />
|id-s = 12<br />
|id-fc = #000<br />
|info-c = #039<br />
|info-s = 8<br />
|info-fc = #fff<br />
|id = ID<br />
|info = contenido de la caja «info»<br />
}}</pre><br />
|style="background: #fff;"|{{Usuario:Userbox/Userbox-r|border-c=#000|border-s=1|id-c=#fff|id-s=12|id-fc=#000|info-c=#039|info-s=8|info-fc=#fff|id=ID|info=contenido de la caja «info»}}<br />
|-<br />
!colspan="2" style="background: #fff; text-align: left; padding: 0 1em;"|Caja doble<br />
|-<br />
|style="background: #fff;"|<pre>{{Usuario:Userbox/Userbox-2<br />
|border-c = #000<br />
|border-s = 1<br />
|id1-c = #fff<br />
|id1-s = 12<br />
|id1-fc = #000<br />
|id2-c = #000<br />
|id2-s = 12<br />
|id2-fc = #fff<br />
|info-c = #039<br />
|info-s = 8<br />
|info-fc = #fff<br />
|id1 = ID 1<br />
|id2 = ID 2<br />
|info = contenido de la caja «info»<br />
}}</pre><br />
<br/>'''''Nota''': Si se omiten estos datos, los colores de fondo y de borde de la caja ID 2 son, por defecto, los mismos que los de la caja ID 1, y el color de fuente es el negro. El grosor del borde por defecto es 1.''<br />
|style="background: #fff;"|{{Usuario:Userbox/Userbox-2|border-c=#000|border-s=1|id1-c=#fff|id1-s=12|id1-fc=#000|id2-c=#000|id2-s=12|id2-fc=#fff|info-c=#039|info-s=8|info-fc=#fff|id1=ID 1|id2=ID 2|info=contenido de la caja «info»}}<br />
|-<br />
!colspan="2" style="background: #fff; text-align: left; padding: 0 1em;"|Mini caja<br />
|-<br />
|style="background: #fff;"|<pre>{{Usuario:Userbox/Userbox-m<br />
|border-c = #000<br />
|border-s = 1<br />
|id-c = #fff<br />
|id-s = 12<br />
|id-fc = #000<br />
|id = ID<br />
}}</pre><br />
|style="background: #fff;"|{{Usuario:Userbox/Userbox-m|border-c=#000|border-s=1|id-c=#fff|id-s=12|id-fc=#000|id=ID}}<br />
|}<br />
<br />
== Agrupación de userboxes ==<br />
<br />
{{Usuario:Userbox/Userboxtop|Ejemplo}}<br />
{{Usuario:Userbox/Equipo IRC|Ejemplo}}<br />
{{Usuario:Userbox/Usuario muchasediciones2}}<br />
{{Usuario:Userbox/Usuario banda ancha}}<br />
{{Usuario:Userbox/Americano}}<br />
{{Wikiproyecto:Matemáticas/Userbox}}<br />
{{Usuario:VictorPines/Pop'n Music}}<br />
{{Usuario:Userbox/Userboxbottom}}<br />
<br />
Como con las cajas de Babel, existe una caja especial para agrupar userboxes. Sólo tienes que poner al comienzo de tu lista de userboxes <nowiki>{{Usuario:Userbox/Userboxtop|tu título}} y {{Usuario:Userbox/Userboxbottom}}</nowiki> al final. Por ejemplo, la caja de la derecha se ha creado de la siguiente manera:<br />
<br />
<nowiki>{{Usuario:Userbox/Userboxtop|Ejemplo}}</nowiki><br />
<nowiki>{{Usuario:Userbox/Equipo IRC|Ejemplo}}</nowiki><br />
<nowiki>{{Usuario:Userbox/Usuario muchasediciones2}}</nowiki><br />
<nowiki>{{Usuario:Userbox/Usuario banda ancha}}</nowiki><br />
<nowiki>{{Usuario:Userbox/Americano}}</nowiki><br />
<nowiki>{{Wikiproyecto:Matemáticas/Userbox}}</nowiki><br />
<nowiki>{{Usuario:VictorPines/Pop'n Music}}</nowiki><br />
<nowiki>{{Usuario:Userbox/Userboxbottom}}</nowiki><br />
<br />
También puedes cambiar la alineación utilizando 'right', 'center' o 'left' como 2º parámetro. De esta forma, es posible cambiar la alineación de la caja añadiendo a <nowiki>{{Usuario:Userbox/Userboxtop|Ejemplo 1}}</nowiki> el parámetro ''align='' seguido de 'right', 'center' o 'left' si lo deseas alinear a la derecha, al centro o a la izquierda, respectivamente. Por ejemplo: <br />
<br />
*<nowiki>{{Usuario:Userbox/Userboxtop|Ejemplo 1|align=left}}.</nowiki><br />
<br />
Puedes encontrar más información en {{[[Usuario:Userbox/Userboxtop]]}} y {{[[Usuario:Userbox/Userboxbottom]]}}.<br />
<br />
== Sugerencias ==<br />
<br />
=== No abuses de los userboxes ===<br />
<br />
Ten en cuenta que existen muchísimos userboxes para los más diversos temas y que es muy posible que alguien ya haya creado uno para lo que deseas. Por eso, ''evita la creación de userboxes redundantes''.<br />
<br />
=== Respeta las convenciones de títulos ===<br />
<br />
A pesar que la política de [[WP:CT|convenciones de títulos]] no está orientada a los userboxes, sí es muy deseable que los títulos que elijas sean en español e intuitivos.<br />
<br />
=== Categoriza y documenta ===<br />
<br />
Nunca olvides [[A:CAT|categorizar]] los userboxes, mediante la etiqueta «noinclude» explicada en [[Ayuda:Plantillas]], ni de documentar usando este [[Usuario:Userbox/Documentación de userboxes|formato]].<br />
<br />
== Véase también ==<br />
<br />
* [[Ayuda:Plantillas]]<br />
{{Usuario:Userbox/Navegación}}<br />
<br />
[[Categoría:Wikipedia:Etiquetas de usuario| ]]</div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas/Userbox&diff=5729Camarada:Miguel/zona de pruebas/Userbox2023-07-13T08:54:59Z<p>Miguel: Edición de «Camarada:Miguel/zona de pruebas/Userbox»</p>
<hr />
<div>Una '''etiqueta de usuario''', también conocida por su anglicismo '''''userbox''''', o por '''caja de usuario''', '''cajita de usuario''' o '''[[ProleWiki:Tutorial de MediaWiki#Plantillas|plantilla]] de camarada''', es un pequeño cuadro de colores que permite añadir breves mensajes personales, en las correspondientes páginas de usuario, y dentro del espacio que admite el tamaño de la mencionada ''userbox''. Es una adaptación de los cuadros de Babel utilizados para informar de los conocimientos idiomáticos de los usuarios y simplificar la interacción entre varias ProleWikis, o dentro del mismo proyecto. [[ProleWiki]] tiene una [[:commons:Category:Icons|gran variedad de iconos]] (no implementado aún) para utilizarlos en los cuadros.<br />
<br />
Las etiquetas de usuario se utilizan para reflejar los intereses de los usuarios, sus habilidades, informaciones técnicas, actividades en la Wikipedia o simplemente por diversión.<br />
<br />
== Ejemplos ==<br />
== Cómo diseñar una etiqueta de usuario ==<br />
<br />
Hay una gran variedad de tipos de cajas para elegir cuando se hace una etiqueta de usuario. El diseño que se usa más a menudo es la «caja estándar». Tiene un área cuadrada a la izquierda («id») y un área rectangular a la derecha («info»).<br />
<br />
Para facilitar su uso, las userboxes se crean por medio de plantillas que tienen una cantidad de parámetros. Una vez que se guarda la plantilla, se transforma automáticamente a HTML. Por lo que es más fácil hacer previsualizaciones y así no te confundirás.<br />
<br />
{| class="wikitable"<br />
!Parámetros de la plantilla<br />
!Resultado<br />
!Valor<br />
|-<br />
|border-c<br />
|<span style="border:1px solid #333;">El '''color de borde''' de la userbox</span><br />
|[[Colores web|Valor de color CSS]] ([[hexadecimal|#hex]] o nombre del color en inglés)<br />
|-<br />
|border-s<br />
|<span style="border:4px solid #3f3;">El '''tamaño de borde''' de la userbox</span><br />
|Tamaño en píxeles<br />
|-<br />
|id-c<br />
|<span style="background:#efe">El ''' color de fondo''' de la caja «id»</span><br />
|Valor de color CSS<br />
|-<br />
|id-s<br />
|El <span style="font-size:150%">'''tamaño'''</span> de fuente del texto de la caja «id»<br />
|Tamaño en [[Punto (tipografía)|puntos PostScript]]<br />
|-<br />
|id-fc<br />
|El <span style="color:#090">'''color'''</span> de la fuente del texto de la caja «id»<br />
|Valor de color CSS<br />
|-<br />
|info-c<br />
|<span style="background:#efe">El '''color de fondo''' de la caja «info»</span><br />
|Valor de color CSS<br />
|-<br />
|info-s<br />
|El <span style="font-size:150%">'''tamaño'''</span> de la fuente de la caja «info»<br />
|Tamaño en puntos PostScript<br />
|-<br />
|info-fc<br />
|El <span style="color:#090">'''color'''</span> de la fuente de la caja «info»<br />
|Valor de color CSS<br />
|-<br />
|id<br />
|Este es el '''contenido''' de la caja «id»<br />
|Texto<br />
|-<br />
|info<br />
| Este es el '''contenido''' de la caja «info»<br />
|Texto<br />
|}<br />
<br />
=== Tipos de userbox ===<br />
{| cellspacing="1" cellpadding="2" style="background: #99f; color: #000;"<br />
!style="background: #fff;"|Código<br />
!style="background: #fff;"|Apariencia<br />
|-<br />
!colspan="2" style="background: #fff; text-align: left; padding: 0 1em;"|Caja estándar<br />
|-<br />
|style="background: #fff;"|<pre>{{Camarada:Userbox/Userbox<br />
|border-c = #000<br />
|border-s = 1<br />
|id-c = #fff<br />
|id-s = 12<br />
|id-fc = #000<br />
|info-c = #039<br />
|info-s = 8<br />
|info-fc = #fff<br />
|id = ID<br />
|info = contenido de la caja «info»<br />
}}</pre></tt><br />
|style="background: #fff;"|{{Camarada:Miguel/zona de pruebas/Userbox/Userbox|border-c=#000|border-s=1|id-c=#fff|id-s=12|id-fc=#000|info-c=#039|info-s=8|info-fc=#fff|id=ID|info=contenido de la caja «info»}}<br />
|-<br />
!colspan="2" style="background: #fff; text-align: left; padding: 0 1em;"|Caja «reflejada»<br />
|-<br />
|style="background: #fff;"|<pre>{{Usuario:Userbox/Userbox-r<br />
|border-c = #000<br />
|border-s = 1<br />
|id-c = #fff<br />
|id-s = 12<br />
|id-fc = #000<br />
|info-c = #039<br />
|info-s = 8<br />
|info-fc = #fff<br />
|id = ID<br />
|info = contenido de la caja «info»<br />
}}</pre><br />
|style="background: #fff;"|{{Usuario:Userbox/Userbox-r|border-c=#000|border-s=1|id-c=#fff|id-s=12|id-fc=#000|info-c=#039|info-s=8|info-fc=#fff|id=ID|info=contenido de la caja «info»}}<br />
|-<br />
!colspan="2" style="background: #fff; text-align: left; padding: 0 1em;"|Caja doble<br />
|-<br />
|style="background: #fff;"|<pre>{{Usuario:Userbox/Userbox-2<br />
|border-c = #000<br />
|border-s = 1<br />
|id1-c = #fff<br />
|id1-s = 12<br />
|id1-fc = #000<br />
|id2-c = #000<br />
|id2-s = 12<br />
|id2-fc = #fff<br />
|info-c = #039<br />
|info-s = 8<br />
|info-fc = #fff<br />
|id1 = ID 1<br />
|id2 = ID 2<br />
|info = contenido de la caja «info»<br />
}}</pre><br />
<br/>'''''Nota''': Si se omiten estos datos, los colores de fondo y de borde de la caja ID 2 son, por defecto, los mismos que los de la caja ID 1, y el color de fuente es el negro. El grosor del borde por defecto es 1.''<br />
|style="background: #fff;"|{{Usuario:Userbox/Userbox-2|border-c=#000|border-s=1|id1-c=#fff|id1-s=12|id1-fc=#000|id2-c=#000|id2-s=12|id2-fc=#fff|info-c=#039|info-s=8|info-fc=#fff|id1=ID 1|id2=ID 2|info=contenido de la caja «info»}}<br />
|-<br />
!colspan="2" style="background: #fff; text-align: left; padding: 0 1em;"|Mini caja<br />
|-<br />
|style="background: #fff;"|<pre>{{Usuario:Userbox/Userbox-m<br />
|border-c = #000<br />
|border-s = 1<br />
|id-c = #fff<br />
|id-s = 12<br />
|id-fc = #000<br />
|id = ID<br />
}}</pre><br />
|style="background: #fff;"|{{Usuario:Userbox/Userbox-m|border-c=#000|border-s=1|id-c=#fff|id-s=12|id-fc=#000|id=ID}}<br />
|}<br />
{{Camarada:Miguel/zona de pruebas/Userbox/Userbox<br />
|border-c = #000<br />
|border-s = 1<br />
|id-c = #fff<br />
|id-s = 12<br />
|id-fc = #000<br />
|info-c = #039<br />
|info-s = 8<br />
|info-fc = #fff<br />
|id = ID<br />
|info = contenido de la caja «info»<br />
}}</div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas/Userbox/Userboxbreak&diff=5728Camarada:Miguel/zona de pruebas/Userbox/Userboxbreak2023-07-13T08:42:14Z<p>Miguel: Creación de «Camarada:Miguel/zona de pruebas/Userbox/Userboxbreak»</p>
<hr />
<div><noinclude>{{Camarada:Miguel/zona de pruebas/Userbox/Userboxtop}}</noinclude><br />
|-<br />
| <div style="text-align: center; font-size: 120%; font-weight: bold;">{{{1|{{{toptext|[[ProleWiki:Userboxes|<hr />]]}}}}}}</div><br />
|-<br />
|<noinclude><br />
{{Camarada:Miguel/zona de pruebas/Userbox/Userboxbottom}}<br />
<!-- {{Documentación|Usuario:Userbox/Userboxtop/doc}} --><br />
</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas/Userbox/Userboxbottom&diff=5727Camarada:Miguel/zona de pruebas/Userbox/Userboxbottom2023-07-13T08:26:22Z<p>Miguel: Creación de «Camarada:Miguel/zona de pruebas/Userbox/Userboxbottom»</p>
<hr />
<div><includeonly>|}</includeonly><noinclude><br />
{{Documentación|Usuario:Userbox/Userboxtop/doc}}<br />
</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas/Userbox/Userboxtop&diff=5726Camarada:Miguel/zona de pruebas/Userbox/Userboxtop2023-07-13T08:13:35Z<p>Miguel: Edición de «Camarada:Miguel/zona de pruebas/Userbox/Userboxtop»</p>
<hr />
<div>{|name="userboxes" id="userboxes" style="float: {{{align|right}}}; text-align:center; margin: 0 0 1em 1em; width: 242px; border: {{{bordercolor|#99B3FF}}} solid 1px; border-spacing: 0; background-color: {{{backgroundcolor|#FFFFFF}}}; {{{extra-css|}}}; clear: right" align="{{{2|{{{align|right}}}}}}"<br />
!<big>{{{1|{{{toptext|[[Camarada:Miguel/zona de pruebas/Userbox|Etiquetas de usuario]]}}}}}}</big><br />
|- align="center"<br />
|<br />
<!-- TODO buscar donde esta localizado 'extra-css'<br />
<br />
Por el momento sin doc<br />
<noinclude>{{Camarada:Miguel/zona de pruebas/Userbox/Userboxbottom}}{{documentación}}</noinclude> <br />
--></div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas/Userbox/Userboxtop&diff=5725Camarada:Miguel/zona de pruebas/Userbox/Userboxtop2023-07-13T08:06:37Z<p>Miguel: Creación de «Camarada:Miguel/zona de pruebas/Userbox/Userboxtop»</p>
<hr />
<div>{|name="userboxes" id="userboxes" style="float: {{{align|right}}}; text-align:center; margin: 0 0 1em 1em; width: 242px; border: {{{bordercolor|#99B3FF}}} solid 1px; border-spacing: 0; background-color: {{{backgroundcolor|#FFFFFF}}}; {{{extra-css|}}}; clear: right" align="{{{2|{{{align|right}}}}}}"<br />
!<big>{{{1|{{{toptext|[[Camarada:Miguel/zona de pruebas/Userbox|Etiquetas de usuario]]}}}}}}</big><br />
|- align="center"<br />
|<br />
<noinclude>{{Camarada:Miguel/zona de pruebas/Userbox/Userboxbottom}}{{documentación}}</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas/Userbox&diff=5724Camarada:Miguel/zona de pruebas/Userbox2023-07-13T08:00:36Z<p>Miguel: Edición de «Camarada:Miguel/zona de pruebas/Userbox»</p>
<hr />
<div>Una '''etiqueta de usuario''', también conocida por su anglicismo '''''userbox''''', o por '''caja de usuario''', '''cajita de usuario''' o '''[[ProleWiki:Tutorial de MediaWiki#Plantillas|plantilla]] de camarada''', es un pequeño cuadro de colores que permite añadir breves mensajes personales, en las correspondientes páginas de usuario, y dentro del espacio que admite el tamaño de la mencionada ''userbox''. Es una adaptación de los cuadros de Babel utilizados para informar de los conocimientos idiomáticos de los usuarios y simplificar la interacción entre varias ProleWikis, o dentro del mismo proyecto. [[ProleWiki]] tiene una [[:commons:Category:Icons|gran variedad de iconos]] (no implementado aún) para utilizarlos en los cuadros.<br />
<br />
Las etiquetas de usuario se utilizan para reflejar los intereses de los usuarios, sus habilidades, informaciones técnicas, actividades en la Wikipedia o simplemente por diversión.</div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas/Userbox/Userbox&diff=5723Camarada:Miguel/zona de pruebas/Userbox/Userbox2023-07-13T07:53:20Z<p>Miguel: Creación de «Camarada:Miguel/zona de pruebas/Userbox/Userbox»</p>
<hr />
<div><div style="float:{{{align|left}}};"><br />
{| cellspacing="0" style="width:238px; background-color:{{{info-c|#f5f5f5}}}; border:{{{border-s|1}}}px solid {{{border-c|{{{id-c|#d9d9d9}}}}}}; margin:1px"<br />
| style="width:45px; height:45px; background-color:{{{id-c|#d9d9d9}}}; text-align:center; font-weight:bold; font-size:{{{id-s|14}}}pt; color:{{{id-fc|black}}}" | {{{id|id}}}<br />
| style="font-size:{{{info-s|8}}}pt; padding:4pt; line-height:1.25em; color:{{{info-fc|black}}}; text-align:{{{text-align|center}}};" | {{{info|''info''}}} <br />
|}</div><noinclude><!--<br />
{{Documentación}}<br />
</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas/Userbox&diff=5722Camarada:Miguel/zona de pruebas/Userbox2023-07-13T07:27:00Z<p>Miguel: Creación de «Camarada:Miguel/zona de pruebas/Userbox». Elemento primario para construir las cajas de usuario.</p>
<hr />
<div><div style="float:{{{align|left}}};"><br />
{| cellspacing="0" style="width:238px; background-color:{{{info-c|#f5f5f5}}}; border:{{{border-s|1}}}px solid {{{border-c|{{{id-c|#d9d9d9}}}}}}; margin:1px"<br />
| style="width:45px; height:45px; background-color:{{{id-c|#d9d9d9}}}; text-align:center; font-weight:bold; font-size:{{{id-s|14}}}pt; color:{{{id-fc|black}}}" | {{{id|id}}}<br />
| style="font-size:{{{info-s|8}}}pt; padding:4pt; line-height:1.25em; color:{{{info-fc|black}}}; text-align:{{{text-align|center}}};" | {{{info|''info''}}} <br />
|}</div><noinclude><!--<br />
{{Documentación}}<br />
</noinclude></div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas&diff=5721Camarada:Miguel/zona de pruebas2023-07-13T07:23:46Z<p>Miguel: Edición de «Camarada:Miguel/zona de pruebas»</p>
<hr />
<div>Todas las wikis incluidas son experimentales y pueden estar sujetas a cambios no previstos, o simplemente ser borradas<br />
<br />
[[Camarada:Miguel/zona de pruebas]]<br />
<br />
== Páginas en general ==<br />
<br />
== Plantillas ==<br />
[[Camarada:Miguel/zona de pruebas/Userbox]]<br />
<br />
== Módulos ==<br />
<br />
== Sin clasificar ==</div>Miguelhttps://es.prolewiki.org/index.php?title=Camarada:Miguel/zona_de_pruebas&diff=5720Camarada:Miguel/zona de pruebas2023-07-13T07:14:53Z<p>Miguel: Creación de «Camarada:Miguel/zona de pruebas»</p>
<hr />
<div>Todas las wikis incluidas son experimentales y pueden estar sujetas a cambios no previstos, o simplemente ser borradas<br />
<br />
[[Camarada:Miguel/zona de pruebas]]</div>Miguelhttps://es.prolewiki.org/index.php?title=ProleWiki:Incorporaci%C3%B3n_de_editores&diff=5719ProleWiki:Incorporación de editores2023-07-12T23:30:15Z<p>Miguel: Corregir los enlaces a los camaradas en <<ProleWiki:Incorporación de editores</p>
<hr />
<div>¡Hola <span class="myName">nuevo editor</span> y bienvenido!<br />
<br />
Esta página está destinada a ayudarte a comenzar a usar [[ProleWiki]] lo más rápido posible, ¡así que léala completamente!<br />
<br />
En segundo lugar: '''¡Por favor, envíanos tus comentarios sobre esta página!''' Únete a Discord o comunícate con [[Camarada:CriticalResist|CriticalResist]] en su página de discusión (haga clic en el enlace de su nombre). ¡Solo podemos mejorar esta experiencia de incorporación con tu ayuda!<br />
<br />
== Socializa con el equipo ==<br />
Te recomendamos que te unas a nuestro Discord aquíRecomendamos unirte a nuestro Discord aquí: https://discord.gg/ZQTBNRU9v5<br />
<br />
Nuestro Discord es donde ocurre la mayor parte de la discusión y, por lo general, recibirás una respuesta más rápido allí.<br />
<br />
Al abrir un ticket en Discord, solo danos el nombre de tu cuenta y entrarás.<br />
<br />
También tenemos un espacio Matrix si lo prefieres, pero mientras lo verificamos, rara vez se usa: https://matrix.to/#/%23prolewiki:matrix.org<br />
<br />
También tenemos otros canales que puedes seguir donde a veces publicamos anuncios y otras cosas interesantes:<br />
<br />
* Twitter: https://twitter.com/prolewiki<br />
* Lemmygrad: https://lemmygrad.ml/c/prolewiki<br />
* TikTok: https://www.tiktok.com/@prolewiki<br />
* YouTube: https://www.youtube.com/@prolewiki<br />
* Reddit: https://reddit.com/r/prolewiki<br />
<br />
'''¿También tienes redes sociales?''' ¡hazlas conocidas! Te seguiremos y nos gustará tu contenido, y también puedes twittear las ediciones que hayas hecho en la wiki (¡y tal vez incluso etiquetarnos!)<br />
<br />
== Gobernanza ==<br />
Se puede acceder a la estructura de gobierno actual de ProleWiki [[ProleWiki:Gobernanza|aquí]].<br />
<br />
Los administradores hacen trabajo técnico y político dentro del proyecto. El trabajo técnico es mantener y configurar el servidor y sus archivos. Políticamente, la administración asume un papel de tutoría y orientación en lugar de un papel directivo, ayudando a los editores a generar consenso. Los administradores aún conservan el derecho de veto, ya que su función es mantener ProleWiki en línea con nuestros [[ProleWiki:Principios|principios]] y evitar desviarse de ellos. ProleWiki también tiene compañeros que ejercen diferentes funciones, como agitprop<ref>propaganda de agitación o agitación y propaganda</ref> y reclutamiento.<br />
<br />
Los editores pueden unirse o agregarse a ciertos grupos según la demanda y el interés. Pero algunos grupos, debido a la sensibilidad del trabajo, no pueden unirse libremente. Este es el caso del trabajo técnico y de nuestro grupo de seguridad interna. El trabajo técnico está actualmente en manos de los administradores, mientras que el grupo de seguridad interna está compuesto por editores de confianza seleccionados por los administradores. El grupo fue creado durante un período de infiltración y desmantelamiento de nuestro proyecto, durante el cual se eligieron algunos editores por su excelencia en la investigación y la contraofensiva.<br />
<br />
También hay auditores, que pueden revisar las solicitudes de cuentas. Todas las solicitudes de cuenta (¡incluida la tuya!) se envían a los editores de confianza para que voten sí o no.<br />
<br />
Actualmente no hay moderadores ni en Discord ni en la Wiki.<br />
<br />
Sin embargo, ProleWiki está evolucionando muy rápidamente y esta estructura podría haber cambiado para cuando leas esta página de incorporación.<br />
<br />
== Entendiendo a los editores "De confianza" ==<br />
Cuando se aprueba tu cuenta en la wiki (y has recibido el correo electrónico que te vincula a esta página), no tienes un rol específico aparte de ser un usuario examinado.<br />
<br />
Como nuevo editor de ProleWiki, tienes los siguientes permisos:<br />
<br />
* Edición de páginas existentes<br />
* Crear nuevos temas en las páginas de discusión y responder a ellos<br />
----A medida que realizas ediciones (ya sea en ''calidad'' o ''cantidad''), la administración ([[Camarada:CriticalResist|CriticalResist]] y [[Camarada:Forte|Forte]]) te dará el rol '''De confianza''', que te permitirá crear nuevas páginas y cargar imágenes. Obtener el rol de confianza suele llevar de unas semanas a un mes de edición activa.<br />
<br />
Si crees que has participado lo suficiente, puede pedir libremente a los administradores que revisen tu cuenta y te otorguen el rol de confianza. A veces estamos sobrecargados de trabajo y olvidamos quién no ha recibido su rol de confianza. Si crees que nos hemos olvidado de ti, envíanos un mensaje.<br />
<br />
Lea esta página para obtener más información sobre lo que significa ser de confianza: [[ProleWiki:Permisos de editor de confianza|Permisos de editor de confianza]].<br />
<br />
Debes pensar en tu período antes de recibir el rol como un período de "tutoría", donde la administración te ayuda a convertirte en un editor autónomo.<br />
---- Mientras tanto y hasta que obtengas tu estado de confianza, puedes pedir a la administración u otros editores que creen una página para ti según sea necesario; ya sea en Matrix o [https://discord.gg/ZQTBNRU9v5 Discord] sería más fácil.<br />
<br />
===Hasta que tenga estos permisos...===<br />
Hasta que obtengas los permisos de confianza, te recomendamos que edites las páginas existentes para agregar contenido o incluso reescribir párrafos para facilitar el flujo de lectura. También puedes agregar categorías a nuestras páginas, agregar fuentes a los reclamos y corregir errores tipográficos y revisar.<br />
<br />
Recuerda que, como enciclopedia proletaria, nos esforzamos por hacer que nuestro contenido sea fácilmente accesible de todas las formas posibles.<br />
<br />
Si necesitas encontrar fuentes para tu edición, consulta las siguientes páginas:<br />
<br />
*[[ProleWiki:Cómo contribuir/Fuentes]] (libros)<br />
* [[:Categoría:Medios informativos antiimperialistas]] (artículos)<br />
*[[:Categoría:Medios de comunicación socialistas]] (artículos)<br />
No existen demasiadas fuentes, camaradas, ¡así que agréguelas mientras escribes!<br />
<br />
==Antes de empezar a escribir...==<br />
=== Directrices editoriales ===<br />
Familiarízate con nuestras Directrices: [[ProleWiki:Directrices editoriales]] para ayudar a mantener una apariencia cohesiva en la enciclopedia.<br />
<br />
En general, comenzarás a internalizar nuestra sensación editorial al leer la enciclopedia y ver cómo se escribe normalmente.<br />
<br />
Si bien nos inspiramos en Wikipedia en algunas áreas, no confiamos completamente en ellos y no es posible traducir las pautas y convenciones de Wikipedia 1:1 en ProleWiki. Wikipedia es una enciclopedia anticomunista con su propia cuota de problemas, y aunque nos inspiramos en lo que funcionó (ya que han tenido dos décadas para refinar sus convenciones editoriales), nuestras similitudes no van más allá.<br />
<br />
Del mismo modo, cuando comiences a escribir, no copies contenido directamente de fuentes externas, ¡no necesitamos plagiar!<br />
<br />
¡Recuerda que la gente asociará tus ediciones con '''ProleWiki mismo'''! Como tal, abstente de editar opiniones o creencias personales dentro de las páginas. Si bien no tenemos una política de "Sin punto de vista" o "Ninguna investigación original" tan estricta como Wikipedia, recuerda que las personas que leen ProleWiki asociarán tus ediciones (individuales) como algo de la "enciclopedia" (es decir, todos nosotros) dice.<br />
<br />
=== Limpia después de ti mismo ===<br />
Esencialmente, limpiar lo que ensucias significa que tú eres responsable de corregir, obtener y seguir las pautas editoriales cuando realizas una edición. Mientras que otros editores eventualmente patrullan las ediciones para corregir errores tipográficos o arreglar el formato, actualmente no tenemos la capacidad de leer dos veces cada edición. Como tal, confiamos en que cada editor se asegure de verificar tanto el formato como el contenido antes de publicar sus ediciones.<br />
<br />
=== Guía del usuario ===<br />
Estamos en el proceso de escribir un tutorial exhaustivo sobre cómo editar Prolewiki. Encuéntralo aquí: [[ProleWiki:Tutorial de MediaWiki]].<br />
<br />
Esta página de tutorial te enseñará cómo usar ProleWiki de forma autónoma como un profesional. También es una buena guía de referencia si no sabes cómo hacer algo o lo olvidaste.<br />
<br />
==¡Tenemos más que solo páginas enciclopédicas! ==<br />
Tenemos un espacio para [[ProleWiki:Ensayos|Ensayos]] de formato libre, en el que puedes escribir lo que quieras (dentro de lo razonable); nuestras directrices no se aplican.<br />
<br />
También tenemos una [[ProleWiki:Biblioteca|Biblioteca]] de textos donde puedes agregar textos marxistas y no marxistas (pero socialistas).<br />
<br />
Finalmente, hemos iniciado un espacio [[ProleWiki:Citas|Citas]] donde puede publicar citas de teóricos marxistas. No lo usamos mucho, pero hemos identificado que esto es algo que la gente busca en línea, por lo que es interesante tenerlo en la wiki. A veces, también es útil tener citas para extraer cuando se escriben páginas.<br />
<br />
Si bien no puedes crear páginas directamente en esos espacios, puede pedirle a otros editores o a la administración que creen dichas páginas por ti.<br />
<br />
==En caso de conflictos con ediciones o editores ==<br />
Ten en cuenta que ProleWiki es una enciclopedia colaborativa y, como tal, todos somos voluntarios aquí para promover una educación proletaria. Por lo tanto, no lo tomes como algo personal si otro editor edita una página que tú creaste.<br />
<br />
Si tienes algún problema con un compañero, utiliza [https://discord.gg/ZQTBNRU9v5 Discord] (si están en él) o las páginas de discusión; p.ej. la página de discusión del camarada o los temas de discusión de la página.<br />
<br />
Los administradores están aquí para facilitar el discurso y la resolución de conflictos si tienes algún problema, no dudes en contactarlos.<br />
<br />
=== Código de Conducta ===<br />
Tenemos un Código de conducta aquí: [[ProleWiki: Código de conducta]]. En pocas palabras, respeta el principio de camaradería con tus camaradas y asume la buena fe de ellos en caso de conflictos.<br />
<br />
==Si tienes alguna pregunta==<br />
Nuevamente, ¡no podemos enfatizar lo suficiente que debes unirte a [https://discord.gg/ZQTBNRU9v5 Discord]! Te permitirá hablar con los otros editores y hacer tus preguntas según sea necesario. Sin embargo, entendemos que no a todo el mundo le gusta usar Discord, por lo que también puede preguntar en nuestra [[ProleWiki:Asamblea|Asamblea]] o, si es necesario, directamente en las páginas de discusión de nuestros administradores si hay algo que no entiendes o que te gustaría saber.<br />
<br />
=== Notas ===<br />
<br />
[[Category:Páginas oficiales de ProleWiki]]</div>Miguelhttps://es.prolewiki.org/index.php?title=ProleWiki:P%C3%A1gina_principal/Contribuya&diff=5718ProleWiki:Página principal/Contribuya2023-07-12T22:39:48Z<p>Miguel: Incluir enlace a <<Especial:Pedir cuenta de usuario>> en «ProleWiki:Página principal/Contribuya»</p>
<hr />
<div>Aquí está [[ProleWiki:Cómo contribuir|cómo puedes ayudar]]:<br />
* [[Especial:Pedir cuenta de usuario|Crea una cuenta]] y participa en nuestra comunidad. Visita [[Especial:CambiosRecientes|los cambios recientes]] para ver lo que han hecho otros camaradas.<br />
* Editar [[Especial:Todas|artículos ya existentes]], o crearlos si te has ganado el permiso para hacerlo<br />
* Si te has ganado el permiso para hacerlo, revisa las actuales [[Special:WantedPages|páginas necesarias]] y crea algunas de ellas.<br />
* Añadir obras marxistas a [[ProleWiki:Biblioteca|nuestra biblioteca]].<br />
* Comparte tus obras creativas en [[ProleWiki:Ensayos|nuestros ensayos]].<br />
* Si aprecias nuestro trabajo, puedes [[ProleWiki:Donar|donar]].<br />
<p style="font-size:130%;font-weight:bold; margin: 1em 0em 0em 0em;">Principales colaboradores de esta semana<br />
{{Special:ContributionScores/10/7/nosort}}</div>Miguelhttps://es.prolewiki.org/index.php?title=ProleWiki:Gu%C3%ADa_del_usuario&diff=5717ProleWiki:Guía del usuario2023-07-12T02:24:17Z<p>Miguel: Creación de «ProleWiki:Tutorial de MediaWiki»</p>
<hr />
<div>El objetivo de esta página es enseñar a los nuevos editores cómo editar técnicamente en ProleWiki, si no están familiarizados con MediaWiki.<br />
<br />
¡Cada editor es libre de agregar (mejorar) a esta página!<br />
<br />
== Primero: lea nuestras pautas editoriales ==<br />
Lea nuestras [[ProleWiki:Directrices editoriales|'''Directrices editoriales''']] antes de empezar a editar, que le ayudarán a ponerse al día rápidamente con nuestros patrones de escritura. En la medida de lo posible, nos gusta armonizar la sensación de nuestras páginas para que se vean uniformes en lugar de adoptar el estilo de cada editor individual, y nuestras pautas ayudan con eso.<br />
<br />
== Entendiendo la interfaz de ProleWiki ==<br />
ProleWiki utiliza la máscara Citizen para crear un tema de nuestro sitio web en el escritorio. Puedes cambiar tu tema en tus [[Especial:Preferencias#mw-prefsection-rendering|Preferencias]] si quieres usar otro.<br />
<br />
El menú se encuentra a la izquierda y es un menú vertical. Revisaremos cada ícono y botón en ese menú. (imágenes de iconos que se agregarán en la guía)<br />
¿Sabías? Puede escribir <code>/</code> en cualquier página para abrir el cuadro de búsqueda<br />
<br />
=== Logo ===<br />
El primer icono que comienza en la parte superior es el logotipo. Al hacer clic en él, volverá a la página de inicio de la instancia del idioma en la que se encuentra actualmente.<br />
<br />
=== Buscar ===<br />
El ícono de la lupa le permite buscar una página. Simplemente haga clic en él y aparecerá un cuadro de búsqueda en el medio de la pantalla, cerca de la parte superior. Escriba sus palabras clave y presione '''enter''' para buscar. A medida que escribe, las sugerencias deben completarse debajo del cuadro. La función de búsqueda es un poco difícil de manejar y, de forma predeterminada, solo buscará títulos de página. Si desea buscar contenido, debe hacer clic en "buscar en las páginas que contengan [palabra clave]".<br />
<br />
A veces, es posible que no encuentre nada a pesar de que la página existe porque ProleWiki distingue entre mayúsculas y minúsculas. Si busca "karl marx", por ejemplo, la función no arrojará ningún resultado. Sin embargo, si busca a Karl Marx, encontrará su página.<br />
<br />
Por eso es importante buscar exhaustivamente antes de crear una página nueva, para no crear duplicados.<br />
<br />
=== Megamenú ===<br />
Las tres líneas apiladas una encima de la otra son lo que comúnmente se llama un menú de hamburguesa. Al hacer clic en este botón se abrirá un megamenú. No revisaremos este megamenú, pero es probable que use mucho la primera columna (Navegación). Es probable que también use la columna "Contenido" para acceder a Ensayos y la Biblioteca.<br />
<br />
=== Configuración del tema ===<br />
En la parte inferior de la barra de navegación, primero tenemos un icono de engranaje. Estos son ajustes de tema: solo se aplicarán a este tema. Puede cambiar el tamaño de fuente, usar un tema oscuro para uso nocturno y encontrar otras configuraciones que puedan hacer que su experiencia de lectura sea más cómoda. Estos ajustes solo se aplican a usted.<br />
<br />
=== Alertas ===<br />
El ícono de la campana abre sus alertas. También recibe una insignia de notificación si algo cambia. Estas alertas solo le notificarán sobre cosas relacionadas con su cuenta, generalmente después de una acción de administración. Cuando se le agregue al grupo de confianza, por ejemplo, recibirá una alerta.<br />
<br />
=== Avisos ===<br />
El icono de bandeja de entrada/cajón abre su bandeja de entrada. Aquí es donde recibe notificaciones sobre su actividad en la wiki. Por ejemplo, si está viendo una página (consulte [[ProleWiki:Tutorial de MediaWiki#Lista de seguimiento|Lista de seguimiento]]) y alguien agrega un tema a la página de discusión, debería recibir un mensaje en su bandeja de entrada.<br />
<br />
=== Cuenta ===<br />
El último ícono, que muestra a una persona, es para la administración de su cuenta. Desde allí, puede acceder a varias de las páginas de su cuenta (Talk, Sandbox...) así como cambiar su Configuración (también llamada Preferencias).<br />
<br />
== Guía del editor visual ==<br />
No recomendamos usar esto como un tutorial. En su lugar, debe usar esto como una guía de referencia cuando necesite hacer algo pero no sepa cómo hacerlo.<br />
<br />
=== Creando una página ===<br />
<code>No puede crear páginas hasta que obtenga el rol de confianza. Para obtener más información, consulte la página [[ProleWiki:Incorporación de editores|Incorporación de editores]].</code><br />
[[Archivo:Search results.png|thumb|372x372px]]<br />
Crear una página en MediaWiki es un poco complicado. La forma más fácil es "buscar" tu página.<br />
<br />
Simplemente haga clic en el ícono de la lupa en la esquina superior izquierda y escriba el nombre que desea darle a su página. Si no existe (ejemplo aquí: [https://en.prolewiki.org/index.php?title=Special:Search&fulltext=1&search=search Search Result]), será llevado a la página de resultados de búsqueda donde debería ver algo como la captura de pantalla a la derecha.<br />
<br />
Luego puede simplemente hacer clic en el enlace rojo debajo del cuadro de búsqueda para ir al editor y crear su página. Tu página no se creará (publicará) hasta que escribas algo en el editor y presiones "Guardar cambios" (en la esquina superior derecha, o '''Ctrl+S''' en tu teclado).<br />
<br />
¡Recuerde que ProleWiki distingue entre mayúsculas y minúsculas! ¡Esto significa que [[Fidel Castro]] es una página diferente de [[Fidel castro]]! (Solo cambió la C en Castro, y puede ver que la primera página existe, pero la segunda no, el enlace está en rojo). Por este motivo, busque exhaustivamente en la wiki antes de crear una nueva página.<br />
<br />
Para evitar ese problema, puede crear [[ProleWiki:Tutorial de MediaWiki#Creación de redirecciones|Redirecciones]] de una página a otra. Haga clic en el enlace para ir a esa parte de la guía.<br />
<br />
Nuestra convención es normalmente "caso de oración". Consulte las [[ProleWiki:Directrices editoriales|Directrices editoriales]].<br />
<br />
=== Editando una página ===<br />
Para comenzar a editar una página, dirígete a su URL y luego haz clic en el botón azul "Editar" en la esquina superior derecha. Si no ve el botón, puede deberse a dos motivos:<br />
<br />
# La página está protegida contra ediciones (este es el caso de las páginas oficiales de ProleWiki)<br />
# Usted no se ha identificado<br />
<br />
Una vez que haga clic en el botón, accederá al editor visual, que es un editor WYSIWYG (lo que ve es lo que obtiene): funciona de manera muy similar a Google Docs o cualquier otro software de texto que use, completo con accesos directos.<br />
<br />
<code>Tenga en cuenta que ProleWiki no guarda borradores. Si no guarda sus ediciones antes de cerrar el editor, ¡desaparecerán por completo y no habrá forma de recuperarlas!</code><br />
<br />
==== Formatear tu texto ====<br />
En la parte superior de la página en el editor visual, debería ver la palabra '''Párrafo'''. Este es el ''estilo'' que se usa actualmente para lo que sea que estés escribiendo. Si hace clic en esa palabra, se abrirá un submenú con varios otros estilos que puede usar, como en Google Docs o Word.<br />
<br />
Para usar un estilo, simplemente coloque el cursor en cualquier parte del "párrafo" que desea aplicar (los estilos se aplican a párrafos completos y no a palabras sueltas) y haga clic en el estilo que desea usar. Luego lo aplicará y debería ver el cambio en tiempo real en el editor.<br />
<br />
==== Usando los encabezados correctamente ====<br />
Puede utilizar títulos con Ctrl+2 hasta Ctrl+6, pasando de un Título a un subtítulo de quinta importancia. Tenga en cuenta que Ctrl+1 utilizará el estilo '''Título de la página''', que diseñará su párrafo exactamente como el título de la página. Nunca usamos ese y no tenemos idea de cuál es su uso.<br />
<br />
De todos modos, al editar debe usar encabezados tanto como sea posible. Sin embargo, tenga en cuenta que no debería haber ninguna razón para ir más allá del subtítulo 2 en la mayoría de los casos. Es decir, el hecho de que tenga 5 encabezados a su disposición no significa que necesite usarlos todos.<br />
<br />
Los encabezados siguen una jerarquía, que puede ver en esta misma página, por ejemplo. Debe comenzar un capítulo con un '''Título''' (Ctrl+2), luego agregar un '''subtítulo 1''' (Ctrl+3). Los '''subtítulos 2''' están anidados dentro de los subtítulos 1, etc. O, en otras palabras, un subtítulo 3 nunca viene "antes" de un subtítulo 2.<br />
<br />
Por supuesto, separas las secciones (o capítulos) con el título principal (ctrl+2).<br />
<br />
==== Agregando fuentes ====<br />
<code>'''¡Camarada!''' Proporcione sus ediciones tanto como sea posible. ¡No hay tal cosa como demasiadas fuentes!</code><br />
<br />
Para agregar una fuente usando el editor visual, primero debe colocar el cursor donde desea que aparezca la fuente. Se verá así.<ref name=":0">fuente</ref><br />
<br />
Luego, abra el menú "Citar" en la parte superior de la pantalla y seleccione una de nuestras plantillas: generalmente "Libro o artículo científico" o "Sitio web o artículo de periódico".<br />
<br />
Haga clic en la plantilla adecuada y se abrirá un cuadro que le pedirá que complete algunos datos, como el año de publicación, el autor, el título, etc. No tiene que completar todo el cuadro, pero es recomendable completar tanto como sea posible los datos que pide la plantilla. Una vez que haya terminado, haga clic en Insertar en la esquina superior derecha.<br />
<br />
Si bien verá la pequeña mención azul <ref name=":0" />, no verá su referencia al final de su página si está agregando la primera cita. Eso es porque aún necesita insertar la ''Lista de referencia''. Para hacer eso, haga clic en Insertar en el menú superior, luego en "Más" (con una flecha apuntando hacia abajo) en el menú que se abre, y luego en ''Lista de referencias'' (precedido por un icono de libro).<br />
<br />
Finalmente, debe agregar un ''Título'' (Ctrl+2) y nombrarlo '''Referencias''', justo encima de la lista que acaba de agregar (MediaWiki no lo hace de forma predeterminada).<br />
<br />
Si hiciste todo correctamente, debería verse como en esta página: [[Fidel Castro]]. Tenga en cuenta que según nuestras [[ProleWiki:Directrices editoriales|Directrices editoriales]], las referencias van al '''final''' de una página.<br />
<br />
===== Reutilizando una fuente =====<br />
A veces, es posible que deba reutilizar una fuente en una página. Simplemente puede hacerlo haciendo clic en Citar -> Reutilizar. Esto abrirá un cuadro con todas las fuentes agregadas hasta el momento, y simplemente puede hacer clic en la fuente que desea reutilizar.<br />
<br />
==== Agregando notas ====<br />
Las notas funcionan de manera muy similar a las referencias técnicamente y, de hecho, se consideran referencias. Para incluirlas, agrega la plantilla '''Cite -> Basic''' (Ctrl+Shift+K). Escriba su nota en el cuadro y luego escriba "nota" en la opción "Usar este grupo". Se verá así:<ref group="nota">ejemplo de nota</ref><br />
<br />
Para que aparezcan las notas, tendría que agregar una lista de Referencias (en la parte superior de la lista de referencias real que existe). Selecciónelo, haga clic en "editar" y luego agregue el grupo "nota". Luego, debe agregar un encabezado llamado '''Notas''' encima de la lista. En cuanto a la estructura de la página, las Notas deben ser el penúltimo encabezado, siendo '''Referencias''' el último encabezado de la página.<br />
<br />
No usamos mucho las notas (es preferible agregar una fuente o un enlace interno, es decir, bluelink), pero pueden ser útiles en algunos casos.<br />
<br />
==== Plantillas ====<br />
[[Archivo:Template parameters example.png|thumb|317x317px]]<br />
<br />
===== Que son las plantillas =====<br />
Las plantillas son piezas específicas de código (MediaWiki) que hacen algo que podría necesitar, que generalmente es visual. Por ejemplo, los cuadros de información se basan en una plantilla. Algunas plantillas son muy específicas y otras son más generales. En el futuro, enumeraremos las Plantillas que puede usar.<br />
<br />
Nuestras plantillas existentes se pueden encontrar buscando "Plantilla:" en la wiki (es un espacio de nombres como Biblioteca o Ensayos).<br />
<br />
===== Incluir una plantilla en una página =====<br />
Para usar una plantilla, la forma más fácil es escribir <code><nowiki>{{</nowiki></code> mientras editas una página con el editor visual. Esto abrirá el cuadro de plantilla. desde allí, puede escribir el nombre de la plantilla que desea usar (por cierto, no usamos "Infobox", sino solo "Infobox País", "Infobox Persona", etc.).<br />
<br />
Una vez que comience a escribir el nombre de la plantilla (recuerde que, como siempre, se distingue entre mayúsculas y minúsculas), aparecerá un menú desplegable para sugerir algunas plantillas. Haga clic en el que desee y, si eligió el correcto, debería ver '''parámetros''' en pantalla (ver captura de pantalla). Puede escribir la información relevante en estos parámetros y luego hacer clic en Guardar, y se importará su plantilla.<br />
<br />
Para editar una plantilla, haga doble clic en ella.<br />
<br />
====== Agregando más parámetros ======<br />
Con algunas plantillas, verá parámetros adicionales que puede usar a la izquierda. Por ejemplo, en la captura de pantalla del cuadro de información del libro, puede elegir agregar la publicación, el idioma y especificar el tamaño de la imagen. Simplemente haga clic en las casillas de verificación a la izquierda para agregar el parámetro a la plantilla que está editando.<br />
<br />
====== Usar una imagen en plantillas ======<br />
Para las imágenes, escriba el nombre del archivo tal como existe en la wiki. Recuerde que cuando carga una imagen, se le pide que proporcione un nombre de archivo. Simplemente escriba el nombre tal como está; no es la URL o el nombre del archivo sin formato (con extensión), sino el que escribiste al cargar la imagen. También hay un menú desplegable de autocompletar que aparecerá una vez que comience a escribir.<br />
<br />
===== Plantillas que usamos =====<br />
<br />
* Infobox: Persona, película, empresa, país<br />
* Para obras de biblioteca: Obra de biblioteca<br />
* Puede cambiar el título mostrado escribiendo <nowiki>{{DISPLAYTITLE:su título aquí}}</nowiki>. No es una plantilla per se, así que cierre la ventana de la plantilla una vez que escriba los dos {.<br />
<br />
==== Menú de página ====<br />
[[Archivo:Hamburger menu visual editor.png|thumb|283x283px]]<br />
<br />
Un botón que aún no hemos visto es el menú colapsado en la parte superior derecha del editor visual (ver captura de pantalla).<br />
<br />
Desde este menú, puede acceder a varias configuraciones "meta" (que se aplican a toda la página independientemente del contenido) que cubriremos a continuación:<br />
<br />
===== Opciones =====<br />
Lo lleva a un cuadro que muestra casi todas las siguientes opciones a continuación.<br />
<br />
===== Categorías =====<br />
Aquí es donde se agrega una categoría a una página. Las categorías se ven así: [[:Categoría:Organizaciones imperialistas]]. Pueden ser útiles en algunos casos y las páginas deberían, en la medida de lo posible, estar categorizadas.<br />
<br />
Para agregar una categoría a una página, simplemente comience a escribir. Recuerde que, una vez más, las categorías distinguen entre mayúsculas y minúsculas. Cuando empiece a escribir, debería aparecer un cuadro debajo del campo de entrada con sugerencias de categorías existentes. Simplemente haga clic en uno de ellos para validarlo o siga escribiendo para crear una categoría completamente nueva. Presiona enter para crear tu nueva categoría.<br />
<br />
Las páginas pueden tener más de una categoría, así que simplemente repita el proceso para agregar otras categorías a una página.<br />
<br />
Puede eliminar una categoría haciendo clic en su nombre en ese cuadro y luego en el icono de la papelera en el submenú que se abre.<br />
<br />
<code>En la medida de lo posible, ¡asegúrese de no crear categorías duplicadas!</code><br />
<br />
===== Configuración de la página (redirecciones) =====<br />
La configuración de la página es principalmente desde donde podrá crear redireccionamientos, aunque podría decirse que son más fáciles de hacer en el editor de código fuente (se necesitan menos clics).<br />
<br />
Para crear una redirección, primero debe crear una nueva página. Por ejemplo, supongamos que desea redirigir ''China'' a [[República Popular China]] (nuestro nombre preferido para esta página, ya que ProleWiki usa el nombre completo de un país para titular su página). Esto significa que primero necesitaría crear la página de China y luego, sin agregar nada en el editor, ir a Configuración de la página.<br />
<br />
Marque la casilla "redirigir esta página a" y luego comience a escribir "República Popular": la página correcta debería aparecer en un campo de autocompletar.<br />
<br />
Haga clic en esa página para seleccionarla y luego haga clic en "Aplicar cambios". Finalmente, no olvides guardar tus ediciones y confirmarlas. A partir de ahora, la página de China redirigirá a las personas automáticamente a la República Popular China.<br />
<br />
===== Configuración avanzada =====<br />
Normalmente no necesita cambiar esta configuración. Puede marcar esta página como '''noindex''' para los motores de búsqueda, lo que significa que ''no debería'' aparecer en Google si lo hace (activado de manera predeterminada), y puede mostrar una pestaña en esta página para agregar una nueva sección, que en este momento esta guía no cubre.<br />
<br />
Ambos deben estar en la configuración "predeterminada", pero puede rechazar la indexación de sus ensayos si lo desea.<br />
<br />
===== Idiomas =====<br />
Para agregar una página en otro idioma (lo que hace que sea fácilmente accesible desde una instancia de idioma a otra), debe usar el editor de código fuente por ahora. (Para ser agregado).<br />
<br />
===== Plantillas utilizadas =====<br />
Esta configuración muestra qué plantillas se utilizan en la página. A veces puede ser útil en páginas grandes saber qué plantillas se están utilizando, pero esto es principalmente por razones de depuración. Aquí no es desde donde se agrega una plantilla: consulte [[ProleWiki:Tutorial de MediaWiki#Uso%20de%20plantillas|Uso de plantillas]].<br />
<br />
===== Ver de derecha a izquierda =====<br />
<br />
===== Buscar y reemplazar =====<br />
Se puede acceder a Buscar y reemplazar mediante el atajo '''ctrl+F'''. Aparecerá un menú en la parte superior de la página. Se explica por sí mismo, puede decidir buscar solo una cadena de texto o también reemplazarla si escribe algo en el campo "Reemplazar". También tiene opciones para hacer coincidir mayúsculas y minúsculas (por ejemplo, buscar solo PALABRA CLAVE y no Palabra clave), usar código de expresiones regulares (regex), buscar palabras completas o ignorar signos diacríticos.<br />
<br />
==== Guardando tus ediciones ====<br />
[[Archivo:Edit summary.png|thumb|309x309px]]<br />
Una vez que haya terminado con su edición y haga clic en "'''Guardar cambios'''", podrá completar el resumen de edición. Puedes ver cómo se ve a la derecha.<br />
<br />
Al editar el resumen, debe observar tres cosas:<br />
<br />
# Escribir el resumen en sí<br />
# Marcando la casilla de "edición menor"<br />
# Marcando la casilla "ver esta página".<br />
<br />
En el resumen, debe ser '''conciso''' pero '''exhaustivo'''. Explique brevemente todos los cambios que incorporó a la página de manera que ayude a otros editores a ver lo que editó de un vistazo.<br />
<br />
Puede marcar el cuadro de edición menor si lo desea; no hay una regla estricta sobre esto, pero generalmente reservamos la mención de edición menor para el trabajo de '''mantenimiento''': corrección de errores tipográficos y gramática, en su mayoría.<br />
<br />
Finalmente, puede optar por comenzar '''ver esta página'''. Consulte el [[ProleWiki:Tutorial de MediaWiki#Lista de seguimiento|Lista de seguimiento]] en esta guía.<br />
<br />
Para dejar de ver una página, puede abrir su perfil de usuario en la parte inferior izquierda de la pantalla y hacer clic en "Lista de seguimiento".<br />
<br />
== Crear un ensayo ==<br />
<br />
=== Comprender los espacios de nombres ===<br />
Los espacios de nombres son una particularidad de MediaWiki, pero no son difíciles de entender.<br />
<br />
Hablamos de la página [[Special:RecentChanges]] justo antes. El carácter de dos puntos (:) indica que '''Especial''' es un espacio de nombres. Después de los dos puntos está el nombre de la página.<br />
<br />
En ProleWiki, usamos el espacio de nombres '''ProleWiki:''' para todo lo que es oficial o relacionado con el wiki en sí. También tenemos el espacio de nombres '''Ensayo:''', como habrás adivinado, y finalmente veremos el espacio de nombres '''Biblioteca:''' en la siguiente sección.<br />
<br />
Los espacios de nombres nos ayudan a clasificar previamente las páginas correctamente. También le permiten saber de qué trata o se relaciona una página de un vistazo.<br />
<br />
=== Creación del ensayo en sí ===<br />
[[Archivo:Creating essay.png|thumb|391x391px]]<br />
Para crear un ensayo, tendría que agregar el espacio de nombres Ensayo: a una página.<br />
<br />
Pero, ¿cómo se "agrega" un espacio de nombres? Bueno, tienes que crear tu página (como crearías un artículo normal) y agregar el espacio de nombres tú mismo, como en la imagen de la derecha. Luego haga clic en el enlace rojo, que está resaltado en la captura de pantalla.<br />
<br />
¡Una vez más, no olvide que ProleWiki distingue entre mayúsculas y minúsculas! No se olvide de escribir '''Ensayo''' y no '''ensayo''' (aunque normalmente, el software debe poner automáticamente en mayúscula la primera letra de una nueva página).<br />
<br />
=== Escribiendo tu ensayo ===<br />
Los ensayos tienen un formato muy libre y casi todo está permitido (la única regla general es no escribir nada que pueda dañar a ProleWiki). A diferencia de los artículos, ¡puedes escribir un ensayo sobre lo que quieras de cualquier manera o forma que quieras! Son "tus" ensayos y nadie más los editará.<br />
<br />
De lo contrario, escribiría un ensayo exactamente de la misma manera que editaría una página; consulte la sección Editor visual para obtener más ayuda.<br />
<br />
=== Agregar su ensayo a la sección Ensayos ===<br />
Finalmente, una vez que su ensayo esté escrito y publicado, debe agregarlo a la sección [[ProleWiki:Ensayos|Ensayos]]. Es un proceso un poco complicado, pero una vez que lo domines, podrás hacerlo en poco tiempo.<br />
<br />
Primero, edite la sección '''Lista de obras'''.<br />
Agregamos los nombres de los autores en orden alfabético (A-Z), así que desplácese hacia abajo hasta donde aparecería su fila en la tabla.<br />
[[Archivo:Table_editing.png|thumb]]<br />
Haga clic en la fila de arriba donde estaría el suyo (si su nombre es '''Cwal''', por ejemplo, agregaría su fila debajo de '''CriticalResist''', ya que Cw está después de Cr en orden alfabético) y luego haga clic en la pequeña flecha que aparece (consulte la imagen de la derecha).<br />
<br />
Luego, haz clic izquierdo en "Insertar debajo" para agregar una nueva fila.<br />
<br />
Haga doble clic en la nueva fila para comenzar a escribir en ella. Primero, agregue su nombre de usuario en la primera columna. Luego seleccione su nombre de usuario en su totalidad y presione '''Ctrl+K''' en su teclado para abrir el cuadro de enlace. Vincule su nombre de usuario a su página; simplemente puede escribir '''Camarada:''' seguido de las primeras letras de su nombre de usuario y debería encontrarlo automáticamente.<br />
<br />
Presiona enter para confirmar el enlace.<br />
<br />
Haga doble clic en la segunda columna y agregue una '''lista de viñetas'''. La encontrará en la parte superior del editor visual, entre "Citar" e "Insertar". También debería poder escribir un asterisco (*) y presionar espacio, debería formatearse automáticamente en una lista de viñetas.<br />
<br />
Escriba el nombre de su ensayo (preferiblemente en cursiva) en esa lista de viñetas. Luego vincúlelo seleccionando el título de su ensayo, presionando ctrl+k y escribiendo Ensayo: el nombre de su ensayo. El cuadro debería encontrarlo automáticamente, pero si no lo hace, también puede pegar la URL completa en el cuadro.<br />
<br />
Finalmente, guarde sus cambios en la página y ¡listo!<br />
<br />
== Agregar obras a la Biblioteca ==<br />
{{Artículo principal|ProleWiki:Guía del usuario/Biblioteca}}<br />
'''¡Este apartado se encuentra obsoleto! Consulte el artículo principal anterior sobre cómo utilizar la nueva biblioteca.'''<br />
<br />
Agregar obras a la [[ProleWiki:Biblioteca|biblioteca]] funciona de manera muy similar a agregar un ''ensayo''. Tienes que buscar el espacio de nombres seguido del título del libro (ejemplo: [[Biblioteca:Valor, precio y beneficio]]) y luego, una vez que hayas agregado el libro en su propia página y guardado tus ediciones, ve a la página [[ProleWiki:Biblioteca|Biblioteca]] y edítela.<br />
<br />
En la página de la biblioteca, debe agregar el autor (si aún no está allí) en la categoría correcta ('''Obras complementarias''' u '''Obras no socialistas'''. También tenemos una sección para Transcripciones y Entrevistas si está agregando eso. No agregue autores a nuestros Trabajos Principales, es una sección especial). Los autores no están ordenados de ninguna manera, así que siéntete libre de agregar un autor al final de la lista.<br />
<br />
Luego agregue el trabajo debajo del autor. Al igual que los ensayos, simplemente escriba el nombre del trabajo, luego selecciónelo por completo y presione '''Ctrl + K''' para que aparezca el cuadro de enlace. Pegue la URL completa en el libro y presione Intro para guardar el enlace.<br />
<br />
<code>¡No tienes que agregar un libro completo a la vez! Definitivamente puedes hacerlo poco a poco.</code><br />
<br />
=== Agregar capítulos (subpáginas) ===<br />
Una cosa que hacemos a veces con libros especialmente grandes, como El Capital, es separar los capítulos en su propia página. Esto se parece a [[Biblioteca:Capital, vol. I/La producción de plusvalía absoluta]]. El símbolo de barra inclinada / denota una '''subpágina''', es decir, una página dentro de una página (La producción de plusvalía absoluta se encuentra ''dentro'' del Capital, vol. I).<br />
<br />
Agregar una subpágina es exactamente como crear una nueva página. Sin embargo, la forma más fácil de hacerlo es ir a la página principal, p. [[Biblioteca:Capital, vol. I]], y luego agregue <blockquote>/La_producción_de_plusvalia_absoluta</blockquote>A la propia URL en su navegador. Tenga en cuenta que los espacios deben reemplazarse por caracteres de subrayado _.<br />
<br />
=== Agregando una tabla de contenidos ===<br />
Con las subpáginas viene una tabla de '''contenidos'''. Esto utiliza la plantilla CITOC (ver [[ProleWiki:Tutorial de MediaWiki#Plantillas|Uso de plantillas]] en esta guía).<br />
<br />
(se agregarán más en esta sección pronto)<br />
<br />
== Subir y usar imágenes ==<br />
<code>Nota: no podrá subir imágenes hasta que reciba el rol de confianza. Consulte la página [[ProleWiki:Incorporación de editores|Incorporación de editores]] para obtener más información.</code><br />
<br />
Hay dos formas de subir imágenes.<br />
<br />
=== Método 1: desde la página Cargar ===<br />
Hay una página desde donde [[Special:Upload|subir]] sus archivos.<br />
<br />
Seleccione un archivo de su computadora en el campo '''Nombre de archivo fuente'''.<br />
<br />
El '''nombre de archivo de destino''' es el aspecto que tendrá su nombre en ProleWiki. Automáticamente llenará ese campo basado en su nombre de archivo.<br />
<br />
El '''resumen''' es una breve explicación de lo que representa su imagen o lo que es el documento que carga.<br />
<br />
Una vez que haya subido su imagen, siga el Método 2 para saber cómo incluirla en una página.<br />
<br />
=== Método 2: desde el editor visual ===<br />
Este es el método más fácil ya que, en la mayoría de los casos, probablemente esté subiendo una imagen mientras edita.<br />
<br />
Desde el editor visual, haga clic en '''Insertar''' en el menú superior y luego elija la primera opción: '''Imágenes y medios'''.<br />
<br />
Se abrirá un cuadro que mostrará tus últimas cargas. Si usó el método 1, así es como encontraría la imagen que cargó e insertaría en la página: simplemente haga clic en ella, luego haga clic en '''Usar esta imagen''' en la esquina superior derecha de la caja. Luego será llevado a una tercera pantalla para escribir un título y proporcionar texto alternativo. Siempre debe completar el texto alternativo para nuestros compañeros discapacitados.<br />
<br />
Si primero necesita subir la imagen, una vez que abra el cuadro '''Imágenes y medios''', haga clic en la pestaña '''Cargar''' cerca de la parte superior de esa ventana. Podrá seleccionar un archivo desde su dispositivo. Luego, haga clic en "Este es un producto del trabajo humano" (para la historia, no podemos deshacernos de este descargo de responsabilidad que por defecto dice "Confirmo que tengo los derechos para usar esta imagen"). Luego, pasará por el mismo proceso descrito en el último párrafo, donde podrá completar la información de su imagen.<br />
<br />
El título es importante ya que se muestra debajo de la imagen y ayuda a explicar qué es exactamente la imagen. Si carga un gráfico de datos, por ejemplo, es una buena práctica proporcionar un título para explicar lo que muestra el gráfico.<br />
<br />
=== Mejores prácticas (por favor siguelas) ===<br />
Recuerde que debemos ser '''accesibles''' para las personas con discapacidades y otros impedimentos. Por ese motivo, asigne a su archivo un nombre claro y preciso (y no asbjsfjbgfabrhb_final_final.jpeg) que represente el documento. Esto se usará como su texto '''alt''' en la página del archivo.<br />
<br />
No es necesario que complete el resumen, ya que no lo usamos (aunque es una buena práctica escribir de qué se trata la imagen, por ejemplo, qué representa, de manera concisa), pero por favor ¡'''titule''' sus imágenes una vez las agregas a una página! También complete el texto alternativo cuando agregue una imagen a una página: simplemente puede copiar el título y pegarlo en el campo de texto alternativo.<br />
<br />
=== Dar formato a una imagen en el editor ===<br />
Una vez que haya agregado su imagen mientras edita una página, puede formatearla un poco.<br />
<br />
En el editor visual, seleccionando y arrastrando la '''esquina inferior izquierda''' de la imagen, puedes cambiar su tamaño.<br />
<br />
Al hacer clic en la imagen y seleccionar la pestaña '''Editar''', puede formatearla un poco más: alinearla a la izquierda, al centro o a la derecha (la derecha está seleccionada de forma predeterminada), ''envolviendo'' el texto a su alrededor y seleccionando cómo se muestra la imagen (la ''miniatura'' está seleccionada de forma predeterminada). Si cambia el formato a '''Sin marco (frameless)''', por ejemplo, puede alinear una imagen en el centro de la página entre dos párrafos:<br />
[[Archivo:Map of zones of Ethiopia.svg|center|frameless|222x222px]]<br />
Finalmente, también puede arrastrar su imagen a otro lugar del artículo simplemente arrastrándola y soltándola. Aparecerá una línea entre los párrafos para mostrarle dónde se alineará la parte superior de su imagen. ¿Suena confuso? No te preocupes, la primera vez que lo hagas lo conseguirás enseguida.<br />
<br />
<code>Tenga en cuenta que normalmente mantenemos la alineación predeterminada en las imágenes según nuestras convenciones (miniatura, alineado a la derecha, ajuste de texto activado). Puede cambiar esta alineación a su gusto en Ensayos, pero no en artículos.</code><br />
<br />
== Usr de páginas de conversación/discusión ==<br />
[[Archivo:Discussion button.png|thumb|405x405px]]<br />
Todas los wikis vienen con una plantilla para las páginas de discusión por defecto. Son fáciles de acceder: al ver cualquier página, debe encontrar un botón "Discusión" en la parte superior derecha (ver captura de pantalla).<br />
<br />
Luego será llevado a la página de Discusión para esta página específica, donde puede agregar un tema o explorar los existentes.<br />
<br />
<code>Tenga en cuenta que nuestras páginas de discusión tienen algunos errores en el diseño Citizen. Para resolver ese problema, puede hacer clic en "Vista móvil" en el pie de página cuando use las páginas de discusión. Estamos trabajando para solucionarlos.</code><br />
<br />
Si desea agregar un tema, solo necesita ingresar el nombre del hilo y el primer mensaje: la estructura es como un hilo de foro.<br />
<br />
¡Siéntete libre de usar las páginas de discusión! Están aquí para ayudarlo a comunicarse con otros editores, así que no lo dude.<br />
<br />
Las páginas de discusión están disponibles en todas partes, incluso en las páginas de los usuarios, así como en las páginas oficiales protegidas de ProleWiki (como nuestras directrices editoriales). Normalmente son de libre acceso con permisos de lectura/escritura para todos los editores, independientemente del rol de confianza.<br />
<br />
== Las páginas especiales ==<br />
Las páginas especiales se pueden encontrar aquí: [[Special:SpecialPages|Especial:PáginasEspeciales]]. No están relacionados con el wiki en sí, sino con su mantenimiento y administración.<br />
<br />
Revisamos rápidamente algunas páginas especiales en esta sección que pueden resultarle interesantes en su trabajo como editor.<br />
<br />
==== La Asamblea ====<br />
Creamos una página [[ProleWiki:Asamblea|Asamblea]] para que los editores hablen entre ellos y envíen anuncios de la administración. Siéntase libre de usarlo si tiene una pregunta que afecta a todo el Wiki.<br />
<br />
==== Página de Sandbox ====<br />
[[File:Sandbox.png|thumb|263x263px]]Tu página de sandbox es una página especial que se usa para probar lo que quieras. A la mayoría de los editores les gusta usarlo para guardar borradores en los que están trabajando hasta que estén listos para ser publicados en una página real, ya que MediaWiki no guarda borradores de páginas.<br />
<br />
Para acceder a su sandbox, la forma más fácil es abrir su perfil en la parte inferior izquierda y hacer clic en "Sandbox" (como se muestra en la imagen de la derecha).<br />
<br />
Usa esa página como quieras; puedes editarlo como quieras (para probar plantillas, formatear o guardar tus borradores) sin afectar al resto del sitio si estropeas algo.<br />
<br />
==== Cambios recientes ====<br />
[[Special:RecentChanges|Cambios recientes]] es la página en la que puedes pasar la mayor parte de tu tiempo. Muestra rápidamente los cambios recientes que tuvieron lugar en la wiki. Es útil para mantenerse al día con los acontecimientos de la wiki.<br />
<br />
==== Lista de seguimiento ====<br />
[[Archivo:Watchlist.png|thumb]]<br />
Puede colocar "cualquier" página en la wiki (literalmente cualquier página) en su lista de seguimiento. Se puede acceder a su lista de seguimiento aquí: [[Special:Watchlist|Seguimiento]] (o desde el ícono de la cuenta en la parte inferior izquierda, debajo de la zona de pruebas). Desde esa página, también puede eliminar cualquier página vista.<br />
<br />
Su lista de seguimiento le enviará una notificación (también en la parte inferior izquierda, en el icono de la bandeja de entrada) cada vez que se realice una modificación en una página que está siguiendo (Vigilando). También pondrá su nombre en negrita en la página de Cambios recientes.<br />
<br />
Para comenzar a seguir una página, vaya a la página que desee, haga clic en los tres puntos pequeños en la esquina superior derecha y luego haga clic en Vigilar (con el icono de estrella).<br />
<br />
==== Páginas requeridas ====<br />
Es interesante conocer [[Special:WantedPages|Páginas requeridas]]. Son páginas que están enlazadas en otras páginas pero que aún no existen (los enlaces X mencionan entre paréntesis). Por lo tanto, se requiere porque claramente se vincula a muchos.<br />
<br />
Estas son páginas que vale la pena crear y llenar, y las páginas requeridas son siempre un buen lugar para volver si está buscando inspiración o no sabes sobre qué escribir.<br />
<br />
'''Consejo''': si aún no es un editor de confianza, ¡puede pedirle a otros editores que creen una página para usted! Ya sea en la Asamblea o en Discord.<br />
<br />
== Tabla de referencia de accesos directos ==<br />
Encontrará todos los accesos directos disponibles al editar simplemente haciendo clic en el ? en la parte superior derecha del editor visual y luego haciendo clic en "Métodos abreviados de teclado"<references /><br />
<br />
<references group="nota" /><br />
<br />
[[Category:Páginas oficiales de ProleWiki]]</div>Miguelhttps://es.prolewiki.org/index.php?title=ProleWiki:P%C3%A1gina_principal/Destacado/Vladimir_Lenin&diff=5716ProleWiki:Página principal/Destacado/Vladimir Lenin2023-07-11T06:40:13Z<p>Miguel: Agregar enlace al artículo principal: «ProleWiki:Página principal/Destacado/Vladimir Lenin»</p>
<hr />
<div>[[File:Lenin photograph 2.png|left|frameless|275x275px]]<br />
'''Vladimir Ilyich Ulyanov''' (22 de Abril de 1870 - 21 de Enero de 1924), mejor conocido como '''Vladimir Lenin''', fue un líder revolucionario, teórico [[Economía política|político y económico]], filósofo y estadista [[Imperio Ruso (1721-1917)|ruso]]. Fue el líder principal de la Revolución de Octubre, que llevó al establecimiento de la [[Unión de Repúblicas Socialistas Soviéticas (1922-1991)|Unión de Repúblicas Socialistas Soviéticas]], el primer [[Dictadura del proletariado|estado obrero y campesino]].<br />
<br />
La principal contribución de Lenin a la teoría [[Marxismo|marxista]] fue su teoría del [[imperialismo]], la dominación de monopolios y cárteles. En muchas de sus obras, también contribuyó en gran medida al desarrollo de una [[praxis]] marxista, la estrategia y la táctica de la [[revolución]], la teoría marxista del [[Estado]] y la estructuración de una organización proletaria mediante el [[centralismo democrático]].<br />
<br />
La actividad política y teórica de Lenin, sus escritos de la década de 1890 y principios del siglo XX, su decidida lucha contra el [[oportunismo]] y los intentos [[Revisionismo|revisionistas]] de tergiversar la teoría marxista, su lucha por la creación de un [[partido político]] revolucionario se consideran la aportación [[Leninismo|leninista]] al marxismo, hoy comúnmente denominado [[Marxismo-Leninismo|marxismo-leninismo]]. {{Align|right|[[Vladimir Lenin|''Leer más...'']]}}</div>Miguelhttps://es.prolewiki.org/index.php?title=ProleWiki:P%C3%A1gina_principal/Art%C3%ADculo_destacado&diff=5715ProleWiki:Página principal/Artículo destacado2023-07-11T05:52:35Z<p>Miguel: Creación de «ProleWiki:Página principal/Artículo destacado»</p>
<hr />
<div>{{ProleWiki:Página principal/Destacado/{{random|1|7}}}}</div>Miguel