晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/opt/alt/ruby22/lib64/ruby/2.2.0/rdoc/ |
| Current File : //opt/alt/ruby22/lib64/ruby/2.2.0/rdoc/rd.rb |
##
# RDoc::RD implements the RD format from the rdtool gem.
#
# To choose RD as your only default format see
# RDoc::Options@Saved+Options for instructions on setting up a
# <code>.doc_options</code> file to store your project default.
#
# == LICENSE
#
# The grammar that produces RDoc::RD::BlockParser and RDoc::RD::InlineParser
# is included in RDoc under the Ruby License.
#
# You can find the original source for rdtool at
# https://github.com/uwabami/rdtool/
#
# You can use, re-distribute or change these files under Ruby's License or GPL.
#
# 1. You may make and give away verbatim copies of the source form of the
# software without restriction, provided that you duplicate all of the
# original copyright notices and associated disclaimers.
#
# 2. You may modify your copy of the software in any way, provided that
# you do at least ONE of the following:
#
# a. place your modifications in the Public Domain or otherwise
# make them Freely Available, such as by posting said
# modifications to Usenet or an equivalent medium, or by allowing
# the author to include your modifications in the software.
#
# b. use the modified software only within your corporation or
# organization.
#
# c. give non-standard binaries non-standard names, with
# instructions on where to get the original software distribution.
#
# d. make other distribution arrangements with the author.
#
# 3. You may distribute the software in object code or binary form,
# provided that you do at least ONE of the following:
#
# a. distribute the binaries and library files of the software,
# together with instructions (in the manual page or equivalent)
# on where to get the original distribution.
#
# b. accompany the distribution with the machine-readable source of
# the software.
#
# c. give non-standard binaries non-standard names, with
# instructions on where to get the original software distribution.
#
# d. make other distribution arrangements with the author.
#
# 4. You may modify and include the part of the software into any other
# software (possibly commercial). But some files in the distribution
# are not written by the author, so that they are not under these terms.
#
# For the list of those files and their copying conditions, see the
# file LEGAL.
#
# 5. The scripts and library files supplied as input to or produced as
# output from the software do not automatically fall under the
# copyright of the software, but belong to whomever generated them,
# and may be sold commercially, and may be aggregated with this
# software.
#
# 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE.
class RDoc::RD
##
# Parses +rd+ source and returns an RDoc::Markup::Document. If the
# <tt>=begin</tt> or <tt>=end</tt> lines are missing they will be added.
def self.parse rd
rd = rd.lines.to_a
if rd.find { |i| /\S/ === i } and !rd.find{|i| /^=begin\b/ === i } then
rd.unshift("=begin\n").push("=end\n")
end
parser = RDoc::RD::BlockParser.new
document = parser.parse rd
# isn't this always true?
document.parts.shift if RDoc::Markup::BlankLine === document.parts.first
document.parts.pop if RDoc::Markup::BlankLine === document.parts.last
document
end
autoload :BlockParser, 'rdoc/rd/block_parser'
autoload :InlineParser, 'rdoc/rd/inline_parser'
autoload :Inline, 'rdoc/rd/inline'
end
|