<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%3AAsq13%2FsummaryBytesLeft.js</id>
	<title>Участник:Asq13/summaryBytesLeft.js - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%3AAsq13%2FsummaryBytesLeft.js"/>
	<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Asq13/summaryBytesLeft.js&amp;action=history"/>
	<updated>2026-11-06T20:36:23Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://t8.lbstr.eu/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Asq13/summaryBytesLeft.js&amp;diff=40191&amp;oldid=prev</id>
		<title>imported&gt;Asq13: Новая страница: «/**  * summaryBytesLeft.js — 13.07.2016  * By Jack who built the house  *   * Чтобы сделать количество байт видимым, тольк…»</title>
		<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Asq13/summaryBytesLeft.js&amp;diff=40191&amp;oldid=prev"/>
		<updated>2016-10-22T00:10:10Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «/**  * summaryBytesLeft.js — 13.07.2016  * By Jack who built the house  *   * Чтобы сделать количество байт видимым, тольк…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * summaryBytesLeft.js — 13.07.2016&lt;br /&gt;
 * By Jack who built the house&lt;br /&gt;
 * &lt;br /&gt;
 * Чтобы сделать количество байт видимым, только когда их остаётся немного, добавьте в свой common.js строчку&lt;br /&gt;
 *   var summaryBytesLeft_margin = 50;&lt;br /&gt;
 * (50 — количество оставшихся байт; счётчик плавно появится на подходе к этой цифре).&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
(function() {&lt;br /&gt;
function byteLength(str) {&lt;br /&gt;
    return str.replace(/[\u0080-\u07FF\uD800-\uDFFF]/g, &amp;#039;**&amp;#039;).replace(/[\u0800-\uD7FF\uE000-\uFFFF]/g, &amp;#039;***&amp;#039;).length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function updateCounter(maxLength) {&lt;br /&gt;
	if (!maxLength)&lt;br /&gt;
		maxLength = $wpSummary.attr(&amp;#039;maxlength&amp;#039;);&lt;br /&gt;
	summary = $wpSummary.val();&lt;br /&gt;
	bytesLeft = maxLength - byteLength(summary);&lt;br /&gt;
	$summaryBytesLeft.text(bytesLeft);&lt;br /&gt;
	&lt;br /&gt;
	if (summaryBytesLeft_margin &amp;lt; maxLength) {&lt;br /&gt;
		var grayShade = 153; // rgb(153, 153, 153) = #999999&lt;br /&gt;
		var darkenRange = 31; // Better to end with 1 in order that the first round number will not be the color of background.&lt;br /&gt;
		var bgColor = $(&amp;#039;.editOptions&amp;#039;).css(&amp;#039;background-color&amp;#039;).match(/\d+/)[0] || 240;&lt;br /&gt;
		var colorDifference = bgColor - grayShade;&lt;br /&gt;
		var startDarkenAt = summaryBytesLeft_margin + darkenRange; &lt;br /&gt;
		var colorCode = Math.round(&lt;br /&gt;
			bgColor -&lt;br /&gt;
				(&lt;br /&gt;
					(&lt;br /&gt;
						(startDarkenAt -&lt;br /&gt;
							Math.min(&lt;br /&gt;
								Math.max(bytesLeft, summaryBytesLeft_margin),&lt;br /&gt;
								startDarkenAt&lt;br /&gt;
							)&lt;br /&gt;
						)&lt;br /&gt;
					/ darkenRange)&lt;br /&gt;
				* colorDifference)&lt;br /&gt;
		);&lt;br /&gt;
		$summaryBytesLeft.css(&amp;#039;color&amp;#039;, &amp;#039;rgb(&amp;#039; + colorCode + &amp;#039;, &amp;#039; + colorCode + &amp;#039;, &amp;#039; + colorCode + &amp;#039;)&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ($.inArray(mw.config.get(&amp;#039;wgAction&amp;#039;), [&amp;#039;edit&amp;#039;, &amp;#039;submit&amp;#039;]) != -1 &amp;amp;&amp;amp; location.search.indexOf(&amp;#039;section=new&amp;#039;) == -1) {&lt;br /&gt;
    if (typeof summaryBytesLeft_margin == &amp;#039;undefined&amp;#039;)&lt;br /&gt;
    	window.summaryBytesLeft_margin = 1000; // Set to &amp;gt;=255 to make the counter be apparent regardless of the number of bytes left.&lt;br /&gt;
	&lt;br /&gt;
	var $wpSummary = $(&amp;#039;#wpSummary&amp;#039;);&lt;br /&gt;
	$(&amp;#039;#wpSummaryLabel label&amp;#039;).append(&amp;#039;&amp;lt;span id=&amp;quot;summaryBytesLeft&amp;quot; style=&amp;quot;float:right; margin-right:20%; color:#999999; font-size:95%;&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;);&lt;br /&gt;
	var $summaryBytesLeft = $(&amp;#039;#summaryBytesLeft&amp;#039;);&lt;br /&gt;
	&lt;br /&gt;
	updateCounter(255); // Turns out the summary input maxlength is changed dynamically.&lt;br /&gt;
	                    // On load, it is 200, then 255, so we better use 255 explicitly&lt;br /&gt;
	                    // here instead of $wpSummary.attr(&amp;#039;maxlength&amp;#039;).&lt;br /&gt;
	$wpSummary.on(&amp;#039;input keyup keydown change mouseup cut paste focus blur&amp;#039;, function() {&lt;br /&gt;
		updateCounter();&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$(document).ready(function() {&lt;br /&gt;
		$(&amp;#039;#userSummaryButtonsA&amp;#039;).on(&amp;#039;click&amp;#039;, function(event) {&lt;br /&gt;
			$wpSummary.trigger(&amp;#039;change&amp;#039;);&lt;br /&gt;
		});&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>imported&gt;Asq13</name></author>
	</entry>
</feed>