allwiki首页  
天下维客 你可以修改的网络知识库
首页最近更改优秀条目专题展示电脑科技词典软件学习网络知识电脑安全明星时尚天下百科
 

MediaWiki扩展:简单时间线

天下维客,你可以修改的网络知识库

Jump to: navigation, search

本文取自元维基,欢迎共同翻译、整理与大家共享,促进中文wiki发展^_^

As the saying goes: a picture is worth a thousand words. This is certainly true for graphical timelines. A detailed listing of events and dates in tabular form may offer the reader a lot of specifics, but may fail to provide an overview, a grand perspective.

As of 1 June 2004 there is a wiki way to compose graphical time charts offline.

Syntax description at Help:EasyTimeline_syntax.


You can also use this tool outside Wikipedia, see the EasyTimeline project site, or activate it on other MediaWiki installations, see EasyTimeline activation.

For an overview of all charts prepared with EasyTimeline on all wikipedias (images and code) see EasyTimeline Index, refreshed weekly as part of the statistics job.

目录

Charts examples

Three examples of what is possible. For more extensive examples see WW II - Pacific Theatre, History of Computing, Tour de France Sieger. A nice example of a diagram that is not a timeline at all is Vocal and instrumental pitch ranges.

|- |valign="top"| <timeline> ImageSize = width:160 height:550 PlotArea = width:50 height:530 left:50 bottom:10 DateFormat = yyyy Period = from:1919 till:1991 TimeAxis = orientation:vertical ScaleMajor = unit:year increment:5 start:1920
  1. there is no automatic collision detection,
  2. so shift texts up or down manually to avoid overlap
Define $dx = 25 # shift text to right side of bar PlotData=
 bar:Leaders color:red width:25 mark:(line,white) align:left fontsize:S
 from:start till:1922 shift:($dx,15)   text:Vladimir~Ilyich~<a href="/index.php?title=Lenin&action=edit" class="new" title="Lenin" rel="nofollow">Lenin</a>
 from:1922  till:1953 shift:($dx,5)    text:<a href="/index.php?title=Stalin&action=edit" class="new" title="Stalin" rel="nofollow">Josef Stalin</a>
 from:1953  till:1964 shift:($dx,5)    text:Nikita~<a href="/index.php?title=Khrushchev&action=edit" class="new" title="Khrushchev" rel="nofollow">Khrushchev</a>
 from:1964  till:1982 shift:($dx,5)    text:Leonid~<a href="/index.php?title=Brezhnev&action=edit" class="new" title="Brezhnev" rel="nofollow">Brezhnev</a>
 from:1982  till:1984 shift:($dx,-12)  text:Yuri~<a href="/index.php?title=Andropov&action=edit" class="new" title="Andropov" rel="nofollow">Andropov</a>
 from:1984  till:1985 shift:($dx,4)    text:Konstantin~<a href="/index.php?title=Chernenko&action=edit" class="new" title="Chernenko" rel="nofollow">Chernenko</a> fontsize:XS
 from:1985  till:end  shift:($dx,10)   text:Mikhail~<a href="/index.php?title=Gorbachev&action=edit" class="new" title="Gorbachev" rel="nofollow">Gorbachev</a>

</timeline>

| |valign="top"| <timeline> ImageSize = width:800 height:100 PlotArea = width:720 height:75 left:65 bottom:20 AlignBars = justify

Colors =

 id:epoch  value:rgb(0.7,0.7,1) # light yellow
 id:period value:rgb(1,0.7,0.7) # light red
 id:age    value:rgb(0.7,1,0.7) # light green
 id:era    value:rgb(1,1,0.7)   # light blue
 id:eon    value:rgb(1,0.7,1)   # light purple
 id:black  value:black

Period = from:-4500 till:0 TimeAxis = orientation:horizontal ScaleMajor = unit:year increment:500 start:-4500 ScaleMinor = unit:year increment:100 start:-4500

Define $markred = text:"*" textcolor:red shift:(0,3) fontsize:10

PlotData=

 align:center textcolor:black fontsize:8 mark:(line,black) width:25 shift:(0,-5)
 bar:eon color:eon
 at:      0   align:right  $markred
 at:   -545   align:left   $markred
 from: -545   till:    0   text:<a href="/index.php?title=Phanerozoic&action=edit" class="new" title="Phanerozoic" rel="nofollow">Phanerozoic</a>
 from:-4500   till:    0   text:<a href="/index.php?title=Precambrian&action=edit" class="new" title="Precambrian" rel="nofollow">Precambrian</a>
 bar:era color:era
 from:  -64.3 till:    0   text:C~z shift:(0,1.5)
 from: -251.1 till:  -64.3 text:<a href="/index.php?title=Mesozoic&action=edit" class="new" title="Mesozoic" rel="nofollow">Meso~zoic</a> shift:(0,1.5)
 from: -545   till: -251.1 text:<a href="/index.php?title=Paleozoic&action=edit" class="new" title="Paleozoic" rel="nofollow">Paleo~zoic</a> shift:(0,1.5)
 from:-4500   till: -545   text:<a href="/index.php?title=Proterozoic&action=edit" class="new" title="Proterozoic" rel="nofollow">Proterozoic</a>
 bar:period color:period
 fontsize:6
 from:   -1.6 till:    0
 from:  -64.3 till:   -1.6
 from: -146   till:  -64.3
 from: -208   till: -146
 from: -251.1 till: -208
 from: -286   till: -251.1
 from: -360   till: -286
 from: -408.5 till: -360
 from: -443.5 till: -408.5
 from: -490   till: -443.5
 from: -545   till: -490
 fontsize:8
 from: -900   till:  -545  text:<a href="/index.php?title=Neoproterozoic&action=edit" class="new" title="Neoproterozoic" rel="nofollow">Neoprote-~rozoic</a> shift:(0,1.8)
 from:-1600   till:  -900  text:<a href="/index.php?title=Mesoproterozoic&action=edit" class="new" title="Mesoproterozoic" rel="nofollow">Mesoproterozoic</a>
 from:-2500   till: -1600  text:<a href="/index.php?title=Paleoproterozoic&action=edit" class="new" title="Paleoproterozoic" rel="nofollow">Paleoproterozoic</a>
 from:-3800   till: -2500  text:<a href="/index.php?title=Archaean&action=edit" class="new" title="Archaean" rel="nofollow">Archaean</a>
 from: start  till: -3800  text:<a href="/index.php?title=Hadean&action=edit" class="new" title="Hadean" rel="nofollow">Hadean</a>

</timeline>

<timeline> ImageSize = width:800 height:120 PlotArea = width:720 height:95 left:65 bottom:20 AlignBars = justify

Colors =

   id:epoch  value:rgb(0.7,0.7,1) # light yellow
   id:period value:rgb(1,0.7,0.7) # light red
   id:age    value:rgb(0.7,1,0.7) # light green
   id:era    value:rgb(1,1,0.7)   # light blue
   id:eon    value:rgb(1,0.7,1)   # light purple
   id:filler value:gray(0.8)      # background bar
   id:black  value:black

Period = from:-545 till:0 TimeAxis = orientation:horizontal ScaleMajor = unit:year increment:100 start:-500 ScaleMinor = unit:year increment:10 start:-540

Define $markred = text:"*" textcolor:red shift:(0,3) fontsize:10 Define $markgreen = text:"*" textcolor:green shift:(0,3) fontsize:10

PlotData=

 align:center textcolor:black fontsize:8 mark:(line,black) width:25 shift:(0,-5)
 bar:eon color:eon
 at:      0   align:right  $markred
 at:   -545   align:left   $markred
 from: -545   till:    0   text:<a href="/index.php?title=Phanerozoic&action=edit" class="new" title="Phanerozoic" rel="nofollow">Phanerozoic</a>
 bar:era color:era
 at:      0   align:right  $markgreen
 at:    -64.3 align:left   $markgreen
 from:  -64.3 till:    0   text:<a href="/index.php?title=Cenozoic&action=edit" class="new" title="Cenozoic" rel="nofollow">Cenozoic</a>
 from: -251.1 till:  -64.3 text:<a href="/index.php?title=Mesozoic&action=edit" class="new" title="Mesozoic" rel="nofollow">Mesozoic</a>
 from: -545   till: -251.1 text:<a href="/index.php?title=Paleozoic&action=edit" class="new" title="Paleozoic" rel="nofollow">Paleozoic</a>
 bar:period color:period fontsize:8
 from:   -1.6 till:    0
 from:  -64.3 till:   -1.6 text:<a href="/index.php?title=Tertiary&action=edit" class="new" title="Tertiary" rel="nofollow">Tertiary</a>
 from: -146   till:  -64.3 text:<a href="/index.php?title=Cretaceous&action=edit" class="new" title="Cretaceous" rel="nofollow">Cretaceous</a>
 from: -208   till: -146   text:<a href="/index.php?title=Jurassic&action=edit" class="new" title="Jurassic" rel="nofollow">Jurassic</a>
 from: -251.1 till: -208   text:<a href="/index.php?title=Triassic&action=edit" class="new" title="Triassic" rel="nofollow">Triassic</a>
 from: -286   till: -251.1 text:<a href="/index.php?title=Permian&action=edit" class="new" title="Permian" rel="nofollow">Permian</a>
 from: -360   till: -286   text:<a href="/index.php?title=Carboniferous&action=edit" class="new" title="Carboniferous" rel="nofollow">Carboniferous</a>
 from: -408.5 till: -360   text:<a href="/index.php?title=Devonian&action=edit" class="new" title="Devonian" rel="nofollow">Devonian</a>
 from: -443.5 till: -408.5 text:<a href="/index.php?title=Silurian&action=edit" class="new" title="Silurian" rel="nofollow">Silurian</a>
 from: -490   till: -443.5 text:<a href="/index.php?title=Ordovician&action=edit" class="new" title="Ordovician" rel="nofollow">Ordovician</a>
 from: -545   till: -490   text:<a href="/index.php?title=Cambrian&action=edit" class="new" title="Cambrian" rel="nofollow">Cambrian</a>
 bar:age color:age fontsize:6
 from: start  till:  end
 from: -23    till:  -1.6  text:<a href="/index.php?title=Neogene&action=edit" class="new" title="Neogene" rel="nofollow">Neo-~gene</a>             shift:(0,0.5)
 from: -64.3  till: -23    text:<a href="/index.php?title=Paleogene&action=edit" class="new" title="Paleogene" rel="nofollow">Paleo~gene</a>          shift:(0,0.5)
 from: -286   till: -251.1 # mark end of Paleozoic
 from: -325   till:  -286  text:<a href="/index.php?title=Pennsylvanian&action=edit" class="new" title="Pennsylvanian" rel="nofollow">Pennsyl-~vanian</a> shift:(0,0.5)
 from: -360   till:  -325  text:<a href="/index.php?title=Mississippian&action=edit" class="new" title="Mississippian" rel="nofollow">Missis-~sippian</a> shift:(0,0.5)

</timeline>

<timeline> ImageSize = width:800 height:120 PlotArea = width:720 height:95 left:65 bottom:20 AlignBars = justify

Colors =

 id:epoch  value:rgb(0.7,0.7,1) # light yellow
 id:period value:rgb(1,0.7,0.7) # light red
 id:age    value:rgb(0.7,1,0.7) # light green
 id:era    value:rgb(1,1,0.7)   # light blue
 id:black  value:black

Period = from:-65.5 till:0 TimeAxis = orientation:horizontal ScaleMajor = unit:year increment:10 start:-60 ScaleMinor = unit:year increment:1 start:-65

Define $markgreen = text:"*" textcolor:green shift:(0,3) fontsize:10

PlotData=

 align:center textcolor:black fontsize:8 mark:(line,black) width:25 shift:(0,-5)
 bar:era color:era
 at:     0  align:right $markgreen
 at: start  align:left  $markgreen
 from:start  till:  0    text:<a href="/index.php?title=Cenozoic&action=edit" class="new" title="Cenozoic" rel="nofollow">Cenozoic</a>
 bar:period color:period
 from: -1.6  till:  0    text:<a href="/index.php?title=Quaternary&action=edit" class="new" title="Quaternary" rel="nofollow">Qua~ter~nary</a> fontsize:6 align:left shift:(-7,5)
 from:start  till: -1.6  text:<a href="/index.php?title=Tertiary&action=edit" class="new" title="Tertiary" rel="nofollow">Tertiary</a>
 bar:age color:age
 from: -1.6  till:  0
 from: -23   till:  -1.6 text:<a href="/index.php?title=Neogene&action=edit" class="new" title="Neogene" rel="nofollow">Neogene</a>
 from:start  till: -23   text:<a href="/index.php?title=Paleogene&action=edit" class="new" title="Paleogene" rel="nofollow">Paleogene</a>
 bar:epoch color:epoch
 from: -0.1  till:  0
 from: -1.6  till: -0.1  text:<a href="/index.php?title=Pleistoceen&action=edit" class="new" title="Pleistoceen" rel="nofollow">P</a>
 from: -5    till: -1.6  text:<a href="/index.php?title=Pliocene&action=edit" class="new" title="Pliocene" rel="nofollow">Plio~cene</a> shift:(0,1) fontsize:6
 from:-23    till: -5    text:<a href="/index.php?title=Miocene&action=edit" class="new" title="Miocene" rel="nofollow">Miocene</a>
 from:-38    till:-23    text:<a href="/index.php?title=Oligocene&action=edit" class="new" title="Oligocene" rel="nofollow">Oligocene</a>
 from:-55    till:-38    text:<a href="/index.php?title=Eocene&action=edit" class="new" title="Eocene" rel="nofollow">Eocene</a>
 from:start  till:-55    text:<a href="/index.php?title=Paleocene&action=edit" class="new" title="Paleocene" rel="nofollow">Paleocene</a>

</timeline> |- |colspan="3" align="left"|Template:Wikimedia Growth |}

Code example

Just to show you that the script syntax is reasonably intuitive: here is the script for the image to the left: Soviet Leaders.

# All measures are in pixels

ImageSize  = width:160 height:550
PlotArea   = left:50 right:0 bottom:10 top:10
AlignBars  = justify

DateFormat = yyyy
Period     = from:1919 till:1991
TimeAxis   = orientation:vertical
ScaleMajor = unit:year increment:5 start:1920

# there is no automatic collision detection,
# so shift texts up or down manually to avoid overlap

Define $dx = 25 # shift text to right side of bar

PlotData=
  bar:Leaders color:red width:25 mark:(line,white) align:left fontsize:S

  from:start till:1922 shift:($dx,15)   text:Vladimir~Ilyich~[[Lenin]]
  from:1922  till:1953 shift:($dx,5)    text:[[Stalin|Josef~Stalin]]
  from:1953  till:1964 shift:($dx,5)    text:Nikita~[[Khrushchev]]
  from:1964  till:1982 shift:($dx,5)    text:Leonid~[[Brezhnev]]
  from:1982  till:1984 shift:($dx,-12)  text:Yuri~[[Andropov]]
  from:1984  till:1985 shift:($dx,4)    text:Konstantin~[[Chernenko]] fontsize:XS
  from:1985  till:end  shift:($dx,10)   text:Mikhail~[[Gorbachev]]

Double and single brackets can be used like on wikipedia, language prefix is possible, e.g. [[de:foo|more about foo]]. Single brackets for external links are also supported.

Great Timelines Elsewhere

Here are two great sites that may serve as inspiration, it would be very easy to recreate most of those timelines verbatim and with roughly similar layout with EasyTimeline (not yet with images but that may change), but I'm afraid that would be 'not done'.

  • Hyperhistory e.g. click on button 'people' left, then on 'special lifelines', right.
  • I hope we will have a set like [1] in a years time (click on full size image for any map), possibly even with images. The main effort will be to gather all info without snatching everything from here (most of these maps are based exclusively on data from Britannica).

Unicode

EasyTimeline does not yet support unicode. This will be added later. So better not use it on unicode enabled Wikipedias yet.

Aug 2004: Minimal UTF-8 support has been added, meaning that EasyTimeline now recognizes UTF-8 encoded characters. However only extended ASCII accented characters can be shown and not even all of them (rendering package Ploticus has an incomplete ASCII set in its internal font). So full unicode support will have to wait until external font support has been added (planned late in 2004, other Wikipedia projects take priority right now).

Tips

For first time users EasyTimeline may not seem that easy at all. As with all script languages it takes some getting used to. Also the syntax description may be a bit bewildering due to its sheer size. Fortunately many elements of the script language are optional.

The 'Easy' in EasyTimeline conveys the message that once a timeline exists it is not so hard to understand, enhance or correct. Also translating for use on another wikipedia it is pretty straightforward.

Tips:

  • What most editors did so far: find a timeline that is similar to what you want to accomplish and use this as a model. This will get you started.
  • Put each timeline on a separate Template page: this makes it easier to edit, faster to preview, possible to include it in several pages
  • Feel free to ask Erik Zachte (the author of EasyTimeline) for help or advice.

See also

Presentation about EasyTimeline at Wikimania 2005 (abstract, slides, speaker notes)

原文参见: EasyTimeline

Personal tools
工具
金银币拍卖 金币拍卖预展  金银币网店 熊猫金银币 生肖金银币