사용자:낙엽1124/스크립트/tweetbotViewer.js

최근 편집: 2022년 4월 16일 (토) 10:12

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
/* 
한줄인용 문서에 아래 주소의 함수랑 대강 같은 결과를 미리보기로 보여줍니다.
https://github.com/femiwiki/tweetbot/blob/master/tweet.py#L91 
*/

$(document).ready( function () {
	if($('.page-페미위키_한줄인용').length == 0)
		return;

	var limit = 140;
	var ellipsis = '…';
	$('.mw-content-ltr > ul > li').each(function() {
		text = $(this).text().trim();
		if(text.length > limit) {
			var words=text.split(' '),
				tweets=[],
				tweet,
				start=0,
				end=0,
				middleTextLength,
				tooLong,
				hasMore;
			hasMore = start<words.length;
			while(hasMore) {
				do {
					middleTextLength = words.slice(start, ++end + 1).join(' ').length;
					tooLong = middleTextLength>limit;
					hasMore = end<words.length;
				} while(!tooLong && hasMore);
				
				tweet=start==0?'':ellipsis;
				if(!hasMore)
					tweet+=words.slice(start, end).join(' ');
				else{
					tweet+=words.slice(start, end).join(' ')+ellipsis;

					start = end;
					end = start;
				}
				tweets.push(tweet);
			}

			var preview = $('<div></div>')
			for(i in tweets) {
				preview.append($('<pre>'+tweets[i]+'</pre>'));
			}
			$(this).html(preview);

		} else {
			$(this).html($('<pre></pre>').append($(this).text().trim()));
		}
	});
});