Template:MIA citation: Difference between revisions

From Leftypedia
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
(45 intermediate revisions by the same user not shown)
Line 16: Line 16:
Any missing or incorrect details should be corrected:
Any missing or incorrect details should be corrected:


  <nowiki>{{MIA citation|<link>|author=<author>|year=<year>|title=<title>}}</nowiki>
  <nowiki>{{MIA citation|<link>|author=<author>|author2=<author2> (optional)|year=<year>|title=<title>}}</nowiki>


See below for some examples.
See below for some examples.
Line 42: Line 42:
Sample
Sample
[[category:original templates]]</noinclude><!--
[[category:original templates]]</noinclude><!--
===============================================================================================================================================================


TEMPLATE BEGINS HERE
TEMPLATE BEGINS HERE
-->{{#tag:ref|<!--
-->{{#tag:ref|<!--


#0: Check for special cases using sub-template. This section currently (6/1/24) only works with capital vol 1.
#0: Check for special cases using sub-template.
-->{{if then show|{{#switch:<!--
-->{{if then show|{{#switch:<!--
#0.1: The following returns codes that are then used by the switch function.
#0.1: The following returns codes that are then used by the switch function.
-->{{switch by pattern|_input={{string split|{{{link|{{{1|}}}}}}|/archive/|2}}
-->{{switch by pattern|_input={{string split|{{{link|{{{1|}}}}}}|/archive/|2}}
   | capital = marx/works/18%d%d%-c%d
   | capital   = marx/works/18%d%d%-c%d
   | _default = NO SPECIAL CASE
  | sus      = marx/works/1880/soc%-utop
  | manifesto = marx/works/1848/communist%-manifesto
  | witbd    = lenin/works/1901/witbd
   | _default = NO SPECIAL CASE
   }}<!--
   }}<!--
This converts the code from the above into a sub-template or direct formatting to output for each given special case.
 
#0.2: Convert the code from the above into a sub-template or directly formatted output text for each given special case.
-->
-->
  | capital =
  | capital =
Line 62: Line 69:
   | link = {{{link|{{{1|}}}}}}
   | link = {{{link|{{{1|}}}}}}
   }}
   }}
  |
  | sus = [[Friedrich Engels|Engels, Friedrich]] (1880). ''[[Socialism: Utopian and Scientific]]''. {{#if:{{switch by pattern|_input={{{link|{{{1|}}}}}}|_returncaptures=y|marx/works/1880/soc%-utop/ch0(%d)}}|Chapter {{switch by pattern|_input={{{link|{{{1|}}}}}}|_returncaptures=y|marx/works/1880/soc%-utop/ch0(%d)}}: "{{tarray|get|The Development of Utopian Socialism//Dialectics//Historical Materialism|//|{{switch by pattern|_input={{{link|{{{1|}}}}}}|_returncaptures=y|marx/works/1880/soc%-utop/ch0(%d)}}}}."|}} [{{{link|{{{1|}}}}}} Available online]
| manifesto = [[Karl Marx|Marx, Karl]] (1848). ''[[The Communist Manifesto|Manifesto of the Communist Party]]''. {{#if:{{switch by pattern|_input={{{link|{{{1|}}}}}}|_returncaptures=y|marx/works/1848/communist%-manifesto/ch0(%d)}}|Chapter {{switch by pattern|_input={{{link|{{{1|}}}}}}|_returncaptures=y|marx/works/1848/communist%-manifesto/ch0(%d)}}: "{{tarray|get|Bourgeois and Proletarians//Proletarians and Communists//Socialist and Communist Literature//Position of the Communists in Relation to the Various Existing Opposition Parties|//|{{switch by pattern|_input={{{link|{{{1|}}}}}}|_returncaptures=y|marx/works/1848/communist%-manifesto/ch0(%d)}}}}."|}} [{{{link|{{{1|}}}}}} Available online]
| witbd =
  {{MIA citation/special
  | work = witbd
  | chapter = {{switch by pattern|_input={{{link|{{{1|}}}}}}|_returncaptures=y|lenin/works/1901/witbd/(%w+)}}
  | link = {{{link|{{{1|}}}}}}
  }}
  }}|<!--
  }}|<!--


End of special case section.
End of special case section.


#1: Author name
#1: Author name. The "replace" functions are only here to normalize the input string by removing any periods or commas.
-->{{#switch: {{replace|{{replace|{{lc:{{{author|{{{2|{{first word|{{string split|{{{link|{{{1|}}}}}}|/archive/|2}}|sep=/}}<!--shitty hack because i'm not a conputer geinius-->}}} }}} }}|,|}}|.|}}
-->{{#switch: {{replace|{{replace|{{lc:{{if empty|{{{author|{{{2|}}}}}}|{{first word|{{string split|{{{link|{{{1|}}}}}}|/archive/|2}}|sep=/}}|default}}}}|,|}}|.|}}<!--
  | stalin
 
  | j v stalin
Marx Engels Lenin Stalin Mao-->
| stalin joseph
| marx | karl marx | marx karl = <!--
| stalin j v
Checks the date for any year after Marx's death - all Engels works are under /marx/!! (hopefully this solution works somewhat)
| stalin josef = [[Joseph Stalin|Stalin, J.V.]]
-->{{#ifexpr: 1883 < {{{year|{{{3|{{switch by pattern|_input={{{link|{{{1|}}}}}}|_returncaptures=y|/(%d%d%d%d)/|_default=0}}}}}}}}|[[Friedrich Engels|Engels, Friedrich]]|[[Karl Marx|Marx, Karl]]}}
  | marx
| engels | friedrich engels | engels friedrich | frederick engels | engels frederick = [[Friedrich Engels|Engels, Friedrich]]
  | karl marx
  | lenin | v i lenin | vladimir lenin | lenin vladimir = [[Vladimir Lenin|Lenin, V. I.]]
  | marx karl = [[Karl Marx|Marx, Karl]]
  | stalin | j stalin | stalin j | joseph stalin | stalin joseph | j v stalin | stalin j v | josef stalin | stalin josef | j v dzhugashvili<!--Think you're cute, huh?--> = [[Joseph Stalin|Stalin, J.V.]]
  | lenin
  | mao | zedong<!--Someone doesn't understand Chinese names--> | mao zedong = [[Mao Zedong|Mao, Zedong]]
  | v i lenin
| trotsky | trotsky leon | leon trotsky | lev trotsky | trotsky lev | lev bronstein | bronstein lev = [[Leon Trotsky|Trotsky, Leon]]<!--
  | vladimir lenin
 
  | lenin vladimir = [[Vladimir Lenin|Lenin, V. I.]]
Other authors, alphabetically sorted; may have errors as some alphabetizing may be by hand. -->
  | adam smith
| adam smith | smith-adam | smith adam = [[Adam Smith|Smith, Adam]]
  | smith-adam
| adorno = [[Theodor Adorno|Adorno, Theodor]]
  | smith adam = [[Adam Smith|Smith, Adam]]
| alia = [[Ramiz Alia|Alia, Ramiz]]
  | mao
| althusser = [[Louis Althusser|Althusser, Louis]]
  | zedong
| andropov = [[Yuri Andropov|Andropov, Yuri]]
  | mao zedong = [[Mao Zedong|Mao, Zedong]]
| bax = [[Ernest Belfort Bax|Bax, Ernest Belfort]]
  | trotsky
| berger-victor = [[Victor Berger|Berger, Victor]]
  | trotsky leon
| beria = [[Lavrenti Beria|Beria, Lavrenti]]
  | leon trotsky
| bernstein = [[Eduard Bernstein|Bernstein, Eduard]]
  | lev trotsky
| bland = [[Bill Bland|Bland, Bill]]
  | lev bronstein
| bogdanov = [[Aleksandr Bogdanov|Bogdanov, Aleksandr]]
  | bronstein lev = [[Leon Trotsky|Trotsky, Leon]]
| boudin = [[Louis B. Boudin|Boudin, Louis B.]]
| brezhnev = [[Leonid Brezhnev|Brezhnev, Leonid]]
| browder = [[Earl Browder|Browder, Earl]]
| bukharin | bhukarin | nikolai bukharin | nikolai bhukarin = [[Nikolai Bukharin|Bukharin, Nikolai]]
| cafiero = [[Carlo Cafiero|Cafiero, Carlo]]
| chernenko = [[Konstantin Chernenko|Chernenko, Konstantin]]
| connolly = [[James Connolly|Connolly, James]]
| debs = [[Eugene V. Debs|Debs, Eugene V.]]
| deleon = [[Daniel De Leon|De Leon, Daniel]]
| dimitrov = [[Georgi Dimitrov|Dimitrov, Georgi]]
| dzerzhinsky = [[Felix Dzerzhinsky|Dzerzhinsky, Felix]]
| eastman = [[Max Eastman|Eastman, Max]]
| foster = [[William Z. Foster|Foster, William Z.]]
| goldman = [[Emma Goldman|Goldman, Emma]]
| gorbachev = [[Mikhail Gorbachev|Gorbachev, Mikhail]]
| gorky-maxim | gorky = [[Maxim Gorky|Gorky, Maxim]]
| gramsci = [[Antonio Gramsci|Gramsci, Antonio]]
| hall = [[Gus Hall|Hall, Gus]]
| hegel | g w f hegel | hegel g w f | hegel georg wilhelm friedrich | georg wilhelm friedrich hegel = [[Georg Wilhelm Friedrich Hegel|Hegel, G. W. F.]]
| hill-christopher | christopher hill = [[Christopher Hill|Hill, Christopher]]
| hillquit = [[Morris Hillquit|Hillquit, Morris]]
| horkheimer = [[Max Horkheimer|Horkheimer, Max]]
| hoxha = [[Enver Hoxha|Hoxha, Enver]]
| jaures | jaurès = [[Jean Jaurès|Jaurès, Jean]]
| kamenev = [[Lev Kamenev|Kamenev, Lev]]
  | kapo = [[Hysni Kapo|Kapo, Hysni]]
  | kautsky = [[Karl Kautsky|Kautsky, Karl]]
  | khrushchev | nikita khrushchev | kruschev | khruschev | nikita kruschev | nikita khruschev = [[Nikita Khrushchev|Khrushchev, Nikita]]
| kim-il-sung | kim il sung = [[Kim Il Sung|Kim, Il Sung]]
| kim-jong-il | kim jong il = [[Kim Jong Il|Kim, Jong Il]]
| kollonta<!--URL version.-->
| kollontai = [[Alexandra Kollontai|Kollontai, Alexandra]]
| kropotkin-peter = [[Peter Kropotkin|Kropotkin, Peter]]
| kun-bela | bela kun = [[Bela Kun|Kun, Bela]]
| lafargue = [[Paul Lafargue|Lafargue, Paul]]
| lukacs = [[Georg Lukács|Lukács, Georg]]
| luxemburg | luxembourg | rosa luxemburg | rosa luxembourg = [[Rosa Luxemburg|Luxemburg, Rosa]]
| maclean = [[John MacLean|MacLean, John]]
| malatesta = [[Errico Malatesta|Malatesta, Errico]]
| malenkov = [[Georgy Malenkov|Malenkov, Georgy]]
| mandel = [[Ernest Mandel|Mandel, Ernest]]
| marcuse = [[Herbert Marcuse|Marcuse, Herbert]]
| mariateg<!--URL version.-->
| mariategui | mariátegui = [[José Carlos Mariátegui|Mariátegui, José Carlos]]
  | markievicz = [[Constance Markievicz|Markievicz, Constance]]
  | mill-john-stuart = [[John Stuart Mill|Mill, J. S.]]
  | molotov = [[V. M. Molotov|Molotov, V. M.]]
  | montefiore = [[Dora Montefiore|Montefiore, Dora]]
| morris = [[William Morris|Morris, William]]
| pannekoe = [[Anton Pannekoek|Pannekoek, Anton]]
| plekhanov = [[Georgi Plekhanov|Plekhanov, Georgi]]
| radek = [[Karl Radek|Radek, Karl]]
  | reed | john reed = [[John Reed|Reed, John]]
  | riazanov = [[David Riazanov|Riazanov, David]]
  | rocker-rudolf = [[Rudolf Rocker|Rocker, Rudolf]]
  | roy = [[Manabendra Nath Roy|Roy, Manabendra Nath]]
  | scudder = [[Vida Dutton Scudder|Scudder, Vida Dutton]]
  | serge = [[Victor Serge|Serge, Victor]]
  | shachtma = [[Max Shachtman|Shachtman, Max]]
  | shehu = [[Mehmet Shehu|Shehu, Mehmet]]
  | stirner = [[Max Stirner|Stirner, Max]]
  | tito | josip broz tito = [[Josip Broz Tito|Tito, Josip Broz]]
  | zinoviev = [[Gregory Zinoviev|Zinoviev, Gregory]]
| ERROR
  | {{{author|[Author missing]}}}
  | {{{author|[Author missing]}}}
}} (<!--
}}<!--
 
Second author if applicable.
-->{{#if:{{{author2|}}}|{{;}} {{{author2|}}}|}} (<!--


#2: Year
#2: Year
Line 105: Line 185:


#3: Title with wikilink.
#3: Title with wikilink.
-->{{#if:{{{title|{{{4|}}}}}}|<includeonly>''[[{{title case|{{{title|{{{4|}}}}}}}}]]''. </includeonly>|<includeonly>[[category:pages incorrectly using the MIA citation template]]</includeonly>}}<!--
-->{{#if:{{{title|{{{4|}}}}}}|<includeonly>''[[{{#ifeq:{{{titlecase|}}}|false|{{{title|{{{4|}}}}}}|{{title case|{{{title|{{{4|}}}}}}}}}}]]''. </includeonly>|<includeonly>[[category:pages incorrectly using the MIA citation template]]</includeonly>}}<!--


#4: Hyperlink.
#4: Hyperlink.
Line 112: Line 192:
#5: Quotation cited (optional)
#5: Quotation cited (optional)
-->{{#if:{{{quote|{{{quotation|{{{5|}}}}}}}}}
-->{{#if:{{{quote|{{{quotation|{{{5|}}}}}}}}}
   | . "{{#ucfirst:{{switch by pattern
   | . "{{ucfirstletter|{{#iferror:{{switch by pattern
         | _input = {{trim quotes|{{{quote|{{{quotation|{{{5|}}}}}}}}}}}
         | _input = {{trim quotes|{{{quote|{{{quotation|{{{5|}}}}}}}}}}}
         | {{trim quotes|{{{quote|{{{quotation|{{{5|}}}}}}}}}}} = ^.+[?!:.]$<!-- i.e., ending with valid punctuation.-->
         | {{trim quotes|{{{quote|{{{quotation|{{{5|}}}}}}}}}}} = ^.+[?!:.]$<!-- i.e., ending with valid punctuation.-->
         | {{str sub new|{{trim quotes|{{{quote|{{{quotation|{{{5|}}}}}}}}}}}|1|-2}}... = ^.+[,;]$<!-- i.e., replace invalid punctuation with ellipsis.-->
         | {{str sub new|{{trim quotes|{{{quote|{{{quotation|{{{5|}}}}}}}}}}}|1|-2}}... = ^.+[,;]$<!-- i.e., replace invalid punctuation with ellipsis.-->
         | {{trim quotes|{{{quote|{{{quotation|{{{5|}}}}}}}}}}}. = %w$<!-- i.e., add final period if no end-punctuation found at all.-->
         | {{trim quotes|{{{quote|{{{quotation|{{{5|}}}}}}}}}}}. = %w$<!-- i.e., add final period if no end-punctuation found at all.-->
         }}}}"
         | _default = {{{quote|{{{quotation|{{{5|}}}}}}}}}<!-- If some freaky shit is happening, just drop the quote and get out of there. Get out!-->
        }}|{{{quote|{{{quotation|{{{5|}}}}}}}}}}}}}"
   |
   |
   }}<!--
   }}<!--

Revision as of 01:23, 12 June 2024

In this templatespace:

Template talk:

WIP template implemented by Harrystein to make citing Marxists.org a lot easier!

Usage

This is designed to read whatever Marxists.org URL you give it and output a nicely-formatted title, author, and year, complete with links to Leftypedia articles on those topics (aka "Wikilinks"). It doesn't use any LUA or outside coding/bots, which at the moment would be harder by an order of magnitude. If such things are implemented later, they should be used in concert with this template or, if they are pretty foolproof, supersede it.

Visual editor

In visual editing, you should be able to copy-paste the code shown below (adapted or otherwise) into your page. I would have to test this to see issues with it. If not, then [explain here how to make the link the only argument, even if not named, i.e. {{{1}}} ] -6/5/24

Source editor

This template is designed to do most of the work for you. I suggest starting by putting the link in, like so:

{{MIA citation|<link>}}

Any missing or incorrect details should be corrected:

{{MIA citation|<link>|author=<author>|author2=<author2> (optional)|year=<year>|title=<title>}}

See below for some examples.

Capital works the best and hopefully should be fully implemented with no gaps:

{{MIA citation | https://www.marxists.org/archive/marx/works/1867-c1/ch03.htm#S1}}
{{MIA citation | https://www.marxists.org/archive/marx/works/1885-c2/ch20_02.htm}}
{{MIA citation | https://www.marxists.org/archive/marx/works/1894-c3/ch13.htm}}

More Marx works will be added upon request or popular usage.

The template also works reasonably well with other works:

{{MIA citation | https://www.marxists.org/archive/draper/1990/zionism/13-antisemitism.htm}}
{{MIA citation | https://www.marxists.org/reference/archive/stalin/works/1938/09.htm | title = dialectical and Historical Materialism}}
{{MIA citation | https://www.marxists.org/archive/lenin/works/1917/staterev/ch01.htm | title = state and revolution}}
{{MIA citation | https://www.marxists.org/reference/archive/smith-adam/works/wealth-of-nations/book01/ch01.htm | title = the wealth of nations | year = 1776}}

Sample[1]

  1. [Author missing] (). [ Available online] at the Marxists Internet Archive