सामग्री पर जाएँ
मुख्य मेन्यू
मुख्य मेन्यू
साइडबार पर जाएँ
छुपाएँ
नेविगेशन
मुखपृष्ठ
हाल में हुए बदलाव
बेतरतीब पृष्ठ
मीडियाविकि के बारे में सहायता
खोजें
खोजें
दिखावट
खाता बनाएँ
लॉग-इन करें
व्यक्तिगत उपकरण
खाता बनाएँ
लॉग-इन करें
लॉग-आउट किए गए संपादकों के लिए पृष्ठ
अधिक जानें
योगदान
वार्ता
मॉड्यूल:Shortcut
सम्पादन
Module
वार्ता
English
पढ़ें
सम्पादित करें
इतिहास देखें
उपकरण
उपकरण
साइडबार पर जाएँ
छुपाएँ
क्रियाएँ
पढ़ें
सम्पादित करें
इतिहास देखें
सामान्य
कड़ियाँ
पृष्ठ से जुड़े बदलाव
विशेष पृष्ठ
पृष्ठ की जानकारी
दिखावट
साइडबार पर जाएँ
छुपाएँ
सावधान:
आपने लॉग-इन नहीं किया है। अगर आप सम्पादन करते हैं तो इस पृष्ठ के संपादन इतिहास में आपका IP पता दृश्य होगा। अगर आप
लॉग-इन
करते हैं या
खाता बनाते हैं
तो दूसरे सुविधाओं के साथ-साथ आपके संपादनों का श्रेय आपके सदस्यनाम पर दिया जाएगा।
ऐन्टी-स्पैम जाँच। इसे
नहीं
भरें!
-- This module implements {{shortcut}}. -- Set constants local CONFIG_MODULE = 'Module:Shortcut/config' -- Load required modules local checkType = require('libraryUtil').checkType local yesno = require('Module:Yesno') local p = {} local function message(msg, ...) return mw.message.newRawMessage(msg, ...):plain() end local function makeCategoryLink(cat) return string.format('[[%s:%s]]', mw.site.namespaces[14].name, cat) end function p._main(shortcuts, options, frame, cfg) checkType('_main', 1, shortcuts, 'table') checkType('_main', 2, options, 'table', true) options = options or {} frame = frame or mw.getCurrentFrame() cfg = cfg or mw.loadData(CONFIG_MODULE) local templateMode = options.template and yesno(options.template) local redirectMode = options.redirect and yesno(options.redirect) local isCategorized = not options.category or yesno(options.category) ~= false -- Validate shortcuts for i, shortcut in ipairs(shortcuts) do if type(shortcut) ~= 'string' or #shortcut < 1 then error(message(cfg['invalid-shortcut-error'], i), 2) end end -- Make the list items. These are the shortcuts plus any extra lines such -- as options.msg. local listItems = {} for i, shortcut in ipairs(shortcuts) do local templatePath, prefix if templateMode then -- Namespace detection local titleObj = mw.title.new(shortcut, 10) if titleObj.namespace == 10 then templatePath = titleObj.fullText else templatePath = shortcut end prefix = options['pre' .. i] or options.pre or '' end if options.target and yesno(options.target) then listItems[i] = templateMode and string.format("{{%s[[%s|%s]]}}", prefix, templatePath, shortcut) or string.format("[[%s]]", shortcut) else listItems[i] = frame:expandTemplate{ title = 'No redirect', args = templateMode and {templatePath, shortcut} or {shortcut, shortcut} } if templateMode then listItems[i] = string.format("{{%s%s}}", prefix, listItems[i]) end end end table.insert(listItems, options.msg) -- Return an error if we have nothing to display if #listItems < 1 then local msg = cfg['no-content-error'] msg = string.format('<strong class="error">%s</strong>', msg) if isCategorized and cfg['no-content-error-category'] then msg = msg .. makeCategoryLink(cfg['no-content-error-category']) end return msg end local root = mw.html.create() root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Shortcut/styles.css'} }) -- Anchors local anchorDiv = root :tag('div') :addClass('module-shortcutanchordiv') for i, shortcut in ipairs(shortcuts) do local anchor = mw.uri.anchorEncode(shortcut) anchorDiv:tag('span'):attr('id', anchor) end -- Shortcut heading local shortcutHeading do local nShortcuts = #shortcuts if nShortcuts > 0 then local headingMsg = options['shortcut-heading'] or redirectMode and cfg['redirect-heading'] or cfg['shortcut-heading'] shortcutHeading = message(headingMsg, nShortcuts) shortcutHeading = frame:preprocess(shortcutHeading) end end -- Shortcut box local shortcutList = root :tag('div') :addClass('module-shortcutboxplain noprint') :attr('role', 'note') if options.float and options.float:lower() == 'left' then shortcutList:addClass('module-shortcutboxleft') end if options.clear and options.clear ~= '' then shortcutList:css('clear', options.clear) end if shortcutHeading then shortcutList :tag('div') :addClass('module-shortcutlist') :wikitext(shortcutHeading) end local ubl = require('Module:List').unbulleted(listItems) shortcutList:wikitext(ubl) return tostring(root) end function p.main(frame) local args = require('Module:Arguments').getArgs(frame) -- Separate shortcuts from options local shortcuts, options = {}, {} for k, v in pairs(args) do if type(k) == 'number' then shortcuts[k] = v else options[k] = v end end -- Compress the shortcut array, which may contain nils. local function compressArray(t) local nums, ret = {}, {} for k in pairs(t) do nums[#nums + 1] = k end table.sort(nums) for i, num in ipairs(nums) do ret[i] = t[num] end return ret end shortcuts = compressArray(shortcuts) return p._main(shortcuts, options, frame) end return p
सारांश:
कृपया ध्यान दें कि वर्ल्डपीडिया को किये गये सभी योगदान क्रिएटिव कॉमन्स एट्रिब्यूशन-शेयरअलाइक ४.० लाइसेंस की शर्तों के तहत होंगे (अधिक जानकारी के लिये
वर्ल्डपीडिया:कॉपीराइट
देखें)। यदि आप अपने योगदान को लगातार बदलते और पुनः वितरित होते नहीं देख सकते हैं तो यहाँ योगदान न करें।
आप यह भी प्रमाणित कर रहे हैं कि यह आपने स्वयं लिखा है अथवा सार्वजनिक क्षेत्र या किसी समान मुक्त स्रोत से प्रतिलिपित किया है।
कॉपीराइट सुरक्षित कार्यों को बिना अनुमति के यहाँ न डालें!
रद्द करें
सम्पादन सहायता
(नई विंडो में खुलता है)
डीबग कौन्सोल
* मॉड्यूल के निर्यात वेरियेबल "p" में उपलब्ध हैं, नहीं सहेजे गये बदलावों सहित। *किसी पंक्ति को एक्सप्रेशन की तरह चलाने के लिए उससे पहले "=" लगाएँ, अथवा print() का प्रयोग करें। * इस कौन्सोल को सन्देश भेजने के लिए मॉड्यूल कोड में mw.log() का प्रयोग करें
मॉड्यूल:Shortcut/doc
(
सम्पादन
)