<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ar">
	<id>https://malaqet.com/index.php?action=history&amp;feed=atom&amp;title=%D9%88%D8%AD%D8%AF%D8%A9%3ACite_web</id>
	<title>وحدة:Cite web - تاريخ المراجعة</title>
	<link rel="self" type="application/atom+xml" href="https://malaqet.com/index.php?action=history&amp;feed=atom&amp;title=%D9%88%D8%AD%D8%AF%D8%A9%3ACite_web"/>
	<link rel="alternate" type="text/html" href="https://malaqet.com/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Cite_web&amp;action=history"/>
	<updated>2026-08-02T00:54:40Z</updated>
	<subtitle>تاريخ التعديل لهذه الصفحة في الويكي</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://malaqet.com/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Cite_web&amp;diff=249&amp;oldid=prev</id>
		<title>عبود السكاف: أنشأ الصفحة ب&#039;local libraryUtil = require(&#039;libraryUtil&#039;) local checkType = libraryUtil.checkType local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg local mArguments -- initialize lazily local data = mw.loadJsonData(&#039;Module:Cite web/data.json&#039;) local p = {}   --- Get the formatted wikitext for the website part --- --- @param uri table - URI object --- @param args table - Template arguments --- @return string local function getWebsite(uri, args) 	-- Check if there are a...&#039;</title>
		<link rel="alternate" type="text/html" href="https://malaqet.com/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Cite_web&amp;diff=249&amp;oldid=prev"/>
		<updated>2025-06-27T10:06:26Z</updated>

		<summary type="html">&lt;p&gt;أنشأ الصفحة ب&amp;#039;local libraryUtil = require(&amp;#039;libraryUtil&amp;#039;) local checkType = libraryUtil.checkType local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg local mArguments -- initialize lazily local data = mw.loadJsonData(&amp;#039;Module:Cite web/data.json&amp;#039;) local p = {}   --- Get the formatted wikitext for the website part --- --- @param uri table - URI object --- @param args table - Template arguments --- @return string local function getWebsite(uri, args) 	-- Check if there are a...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحة جديدة&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local libraryUtil = require(&amp;#039;libraryUtil&amp;#039;)&lt;br /&gt;
local checkType = libraryUtil.checkType&lt;br /&gt;
local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg&lt;br /&gt;
local mArguments -- initialize lazily&lt;br /&gt;
local data = mw.loadJsonData(&amp;#039;Module:Cite web/data.json&amp;#039;)&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- Get the formatted wikitext for the website part&lt;br /&gt;
---&lt;br /&gt;
--- @param uri table - URI object&lt;br /&gt;
--- @param args table - Template arguments&lt;br /&gt;
--- @return string&lt;br /&gt;
local function getWebsite(uri, args)&lt;br /&gt;
	-- Check if there are any matches in Module:Cite web/data.json&lt;br /&gt;
	for label, v in pairs(data.websites) do&lt;br /&gt;
		for _, pattern in ipairs(v.pattern) do&lt;br /&gt;
			if string.find( args[&amp;#039;articleurl&amp;#039;], pattern ) then&lt;br /&gt;
				if v.page then&lt;br /&gt;
					return string.format(&amp;#039;[[%s|%s]]&amp;#039;, v.page, label)&lt;br /&gt;
				else&lt;br /&gt;
					return string.format(&amp;#039;[%s://%s %s]&amp;#039;, uri.protocol, uri.host, label)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Fallback to template arguments if there are no match&lt;br /&gt;
	if args[&amp;#039;website&amp;#039;] then&lt;br /&gt;
		return args[&amp;#039;website&amp;#039;]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Fallback to host name if none of th above&lt;br /&gt;
	return string.format(&amp;#039;[%s://%s %s]&amp;#039;, uri.protocol, uri.host, uri.host)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Build a table of citation info from the template arguments&lt;br /&gt;
---&lt;br /&gt;
--- @param args table - Template arguments&lt;br /&gt;
--- @return table|nil&lt;br /&gt;
function p.buildCiteData(args)&lt;br /&gt;
	local uri = mw.uri.new(args[&amp;#039;articleurl&amp;#039;])&lt;br /&gt;
	local cite = {&lt;br /&gt;
		[&amp;#039;order&amp;#039;] = {}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if args[&amp;#039;author&amp;#039;] then&lt;br /&gt;
		if args[&amp;#039;dated&amp;#039;] then&lt;br /&gt;
			cite[&amp;#039;author&amp;#039;] = string.format(&amp;#039;%s (%s)&amp;#039;, args[&amp;#039;author&amp;#039;], args[&amp;#039;dated&amp;#039;])&lt;br /&gt;
		else&lt;br /&gt;
			cite[&amp;#039;author&amp;#039;] = args[&amp;#039;author&amp;#039;]&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(cite[&amp;#039;order&amp;#039;], &amp;#039;author&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args[&amp;#039;articlename&amp;#039;] then&lt;br /&gt;
		cite[&amp;#039;article&amp;#039;] = string.format(&amp;#039;[%s &amp;quot;%s&amp;quot;]&amp;#039;, args[&amp;#039;articleurl&amp;#039;], args[&amp;#039;articlename&amp;#039;])&lt;br /&gt;
	else&lt;br /&gt;
		cite[&amp;#039;article&amp;#039;] = string.format(&amp;#039;[%s %s]&amp;#039;, args[&amp;#039;articleurl&amp;#039;], args[&amp;#039;articleurl&amp;#039;])&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(cite[&amp;#039;order&amp;#039;], &amp;#039;article&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	cite[&amp;#039;website&amp;#039;] = getWebsite(uri, args)&lt;br /&gt;
	table.insert(cite[&amp;#039;order&amp;#039;], &amp;#039;website&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	if args[&amp;#039;accessed&amp;#039;] then&lt;br /&gt;
		cite[&amp;#039;accessed&amp;#039;] = string.format(&amp;#039;Retrieved %s&amp;#039;, args[&amp;#039;accessed&amp;#039;])&lt;br /&gt;
		table.insert(cite[&amp;#039;order&amp;#039;], &amp;#039;accessed&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	mw.logObject(cite, string.format(&amp;#039;[Cite web] Citation data of [%s]&amp;#039;, args[&amp;#039;articleurl&amp;#039;]))&lt;br /&gt;
	return cite&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Implements {{Cite web}} from the frame&lt;br /&gt;
function p.citeWeb(frame)&lt;br /&gt;
	mArguments = require(&amp;#039;Module:Arguments&amp;#039;)&lt;br /&gt;
	return p._citeWeb(mArguments.getArgs(frame), frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._citeWeb(args, frame)&lt;br /&gt;
	checkType(&amp;#039;_citeWeb&amp;#039;, 1, args, &amp;#039;table&amp;#039;)&lt;br /&gt;
	checkType(&amp;#039;_citeWeb&amp;#039;, 2, frame, &amp;#039;table&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	checkTypeForNamedArg(&amp;#039;_citeWeb&amp;#039;, &amp;#039;articleurl&amp;#039;, args.articleurl, &amp;#039;string&amp;#039;, false)&lt;br /&gt;
&lt;br /&gt;
	local cite = {}&lt;br /&gt;
	local citeData = p.buildCiteData(args)&lt;br /&gt;
	for _, key in ipairs(citeData[&amp;#039;order&amp;#039;]) do&lt;br /&gt;
		local spanHtml = mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
		spanHtml:addClass(&amp;#039;cite-web-&amp;#039; .. key)&lt;br /&gt;
		--spanHtml:attr(&amp;#039;title&amp;#039;, key)&lt;br /&gt;
		spanHtml:wikitext(citeData[key])&lt;br /&gt;
		table.insert(cite, tostring(spanHtml))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local wikitext = table.concat(cite, &amp;#039;. &amp;#039;)&lt;br /&gt;
	local html = mw.html.create(&amp;#039;cite&amp;#039;):addClass(&amp;#039;citation cite-web&amp;#039;)&lt;br /&gt;
	html:wikitext(wikitext)&lt;br /&gt;
&lt;br /&gt;
	return frame:extensionTag {&lt;br /&gt;
		name = &amp;#039;templatestyles&amp;#039;, args = { src = &amp;#039;Module:Cite web/styles.css&amp;#039; }&lt;br /&gt;
	} .. tostring(html)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>عبود السكاف</name></author>
	</entry>
</feed>