晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/tabatabaei/.trash/wp-includes/js/tinymce/plugins/wpemoji/ |
Upload File : |
( function( tinymce ) {
tinymce.PluginManager.add( 'wpemoji', function( editor ) {
var typing,
wp = window.wp,
settings = window._wpemojiSettings,
env = tinymce.Env,
ua = window.navigator.userAgent,
isWin = ua.indexOf( 'Windows' ) > -1,
isWin8 = ( function() {
var match = ua.match( /Windows NT 6\.(\d)/ );
if ( match && match[1] > 1 ) {
return true;
}
return false;
}());
if ( ! wp || ! wp.emoji || settings.supports.everything ) {
return;
}
function setImgAttr( image ) {
image.className = 'emoji';
image.setAttribute( 'data-mce-resize', 'false' );
image.setAttribute( 'data-mce-placeholder', '1' );
image.setAttribute( 'data-wp-emoji', '1' );
}
function replaceEmoji( node ) {
var imgAttr = {
'data-mce-resize': 'false',
'data-mce-placeholder': '1',
'data-wp-emoji': '1'
};
wp.emoji.parse( node, { imgAttr: imgAttr } );
}
// Test if the node text contains emoji char(s) and replace.
function parseNode( node ) {
var selection, bookmark;
if ( node && window.twemoji && window.twemoji.test( node.textContent || node.innerText ) ) {
if ( env.webkit ) {
selection = editor.selection;
bookmark = selection.getBookmark();
}
replaceEmoji( node );
if ( env.webkit ) {
selection.moveToBookmark( bookmark );
}
}
}
if ( isWin8 ) {
/*
* Windows 8+ emoji can be "typed" with the onscreen keyboard.
* That triggers the normal keyboard events, but not the 'input' event.
* Thankfully it sets keyCode 231 when the onscreen keyboard inserts any emoji.
*/
editor.on( 'keyup', function( event ) {
if ( event.keyCode === 231 ) {
parseNode( editor.selection.getNode() );
}
} );
} else if ( ! isWin ) {
/*
* In MacOS inserting emoji doesn't trigger the stanradr keyboard events.
* Thankfully it triggers the 'input' event.
* This works in Android and iOS as well.
*/
editor.on( 'keydown keyup', function( event ) {
typing = ( event.type === 'keydown' );
} );
editor.on( 'input', function() {
if ( typing ) {
return;
}
parseNode( editor.selection.getNode() );
});
}
editor.on( 'setcontent', function( event ) {
var selection = editor.selection,
node = selection.getNode();
if ( window.twemoji && window.twemoji.test( node.textContent || node.innerText ) ) {
replaceEmoji( node );
// In IE all content in the editor is left selected after wp.emoji.parse()...
// Collapse the selection to the beginning.
if ( env.ie && env.ie < 9 && event.load && node && node.nodeName === 'BODY' ) {
selection.collapse( true );
}
}
} );
// Convert Twemoji compatible pasted emoji replacement images into our format.
editor.on( 'PastePostProcess', function( event ) {
if ( window.twemoji ) {
tinymce.each( editor.dom.$( 'img.emoji', event.node ), function( image ) {
if ( image.alt && window.twemoji.test( image.alt ) ) {
setImgAttr( image );
}
});
}
});
editor.on( 'postprocess', function( event ) {
if ( event.content ) {
event.content = event.content.replace( /<img[^>]+data-wp-emoji="[^>]+>/g, function( img ) {
var alt = img.match( /alt="([^"]+)"/ );
if ( alt && alt[1] ) {
return alt[1];
}
return img;
});
}
} );
editor.on( 'resolvename', function( event ) {
if ( event.target.nodeName === 'IMG' && editor.dom.getAttrib( event.target, 'data-wp-emoji' ) ) {
event.preventDefault();
}
} );
} );
} )( window.tinymce );