ویکی‌نبشته fawikisource https://fa.wikisource.org/wiki/%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C MediaWiki 1.47.0-wmf.19 first-letter مدیا ویژه بحث کاربر بحث کاربر ویکی‌نبشته بحث ویکی‌نبشته پرونده بحث پرونده مدیاویکی بحث مدیاویکی الگو بحث الگو راهنما بحث راهنما رده بحث رده درگاه بحث درگاه پدیدآورنده بحث پدیدآورنده برگه گفتگوی برگه فهرست گفتگوی فهرست TimedText TimedText talk پودمان بحث پودمان Event Event talk پدیدآورنده:صادق هدایت 102 1864 299408 277389 2026-09-12T15:07:47Z Hanooz 17889 /* آثار درباره هدایت */ حذف مواردی که در مالکیت عمومی نیستند 299408 wikitext text/x-wiki {{پدیدآورنده}} == مجموعه آثار == * ''[[رباعیات خیام (صادق هدایت)]]'' (۱۳۰۲) * ''[[فواید گیاه‌خواری]]'' (۱۳۰۶) * ''[[زنده بگور (مجموعه داستان)|زنده‌به‌گور]]'' (۱۳۰۸) (مجموعه داستان کوتاه) * ''[[پروین دختر ساسان (نمایشنامه)|پروین دختر ساسان]]'' (۱۳۰۹) (نمایشامه) * ''[[سایه مغول]]'' (۱۳۱۰) * ''[[اصفهان نصف جهان (سفرنامه)|اصفهان نصف جهان]]'' (۱۳۱۱) (سفرنامه) * '' [[سه قطره خون]]'' (۱۳۱۱) (مجموعه داستان کوتاه) * ''[[نیرنگستان]]'' (۱۳۱۲) * ''[[سایه روشن]]'' (۱۳۱۲) * ''[[مازیار]]'' (۱۳۱۲) (جستار تاریخی و یک نمایشنامه) با همکاری [[پدیدآورنده:مجتبی مینوی|مجتبی مینوی]] * ''[[وغ‌وغ‌ساهاب]]'' (۱۳۱۳) با همکاری [[مسعود فرزاد]] * ''[[ترانه‌های خیام]]'' (۱۳۱۳) * ''[[بوف کور]]'' (۱۳۱۵) * ''[[علویه خانم]]'' (۱۳۲۲) * ''[[حاجی آقا]]'' (۱۳۲۴) * ''[[افسانه آفرینش]]'' (۱۳۲۵) ([[خیمه‌شب‌بازی]] در سه پرده) * ''[[ولنگاری]]'' (۱۳۲۳) * ''[[توپ مرواری]]'' (۱۳۲۷) * ''[[سگ ولگرد]]'' (مجموعه داستان کوتاه) * ''[[کاروان اسلام (البعثة الاسلامیة الی البلاد الافرنجیة)|کاروان اسلام ({{عربی|البعثة الاسلامیة الی البلاد الافرنجیة}})]]'' * ''[[مجموعه نوشته‌های پراکنده (صادق هدایت)|مجموعه نوشته‌های پراکنده]]'' (به کوشش حسن قائمیان) * ''[[س. گ. ل. ل]]'' (۱۳۲۱) === ترجمه‌ها === ==== ترجمه از زبان فرانسه ==== * ''[[کور و برادرش]]'' (۱۳۱۰) نوشته [[آرتور شنیتسلر]] * ''[[کلاغ پیر]]'' (۱۳۱۰) نوشته [[الکساندر لانژ کیلاند]] نویسنده نروژی * ''[[تمشک تیغ دار]]'' (۱۳۱۰) نوشته [[آنتون چخوف]] * ''[[مرداب حبشه]]'' (۱۳۱۰) نوشته [[گاستون شرو]] نویسنده فرانسوی * ''[[جلو قانون]]'' نوشته [[پدیدآورنده:فرانتس کافکا|فرانتس کافکا]] * ''[[مسخ]]'' نوشته [[پدیدآورنده:فرانتس کافکا|فرانتس کافکا]] * ''[[گراکوس شکارچی]]'' نوشته [[پدیدآورنده:فرانتس کافکا|فرانتس کافکا]] * ''[[گروه محکومین]]'' نوشته [[پدیدآورنده:فرانتس کافکا|فرانتس کافکا]] * ''[[دیوار(ژان پل سارتر)|دیوار]]'' نوشته [[ژان پل سارتر]] ==== ترجمه از متون پهلوی به زبان فارسی ==== * ''[[ماتیکان گجستک ابالیش|گجسته ابالیش]]'' (۱۳۱۹) * '' [[شکند گمانیک وزار|گزارش گمان‌شکن]]'' (۱۳۲۲) * ''[[یادگار جاماسبی|یادگار جاماسب]]'' (۱۳۲۲) * ''[[کارنامه اردشیر بابکان]]'' (۱۳۲۲) * ''[[زند وهومن یسن]]'' (۱۳۲۳) * ''[[آمدن شاه بهرام ورجاوند]] (۱۳۲۴) === مقالات === * ''[[مقدمه‌ای بر رباعیات خیام]]'' * ''[[انسان و حیوان]]'' (۱۳۰۳) * ''[[پیام کافکا]]'' == آثار دربارهٔ هدایت == * ''کتاب حاجی‌آقای صادق هدایت''، نوشته [[سعید نفیسی]]، ۱۳۲۴ * ''هدایت و حزب توده''، نوشته [[خلیل ملکی]]، ۱۳۳۰ * ''صادق هدایت از نظر دهخدا'' نوشته [[علی اکبر دهخدا]]، ۱۳۵۲ * ''هدایت بوف کور'' نوشته [[جلال آل‌احمد]]، ۱۳۳۰ {{مالکیت عمومی در ایران}} {{صادق هدایت}} [[رده:نویسندگان داستان کوتاه]] [[رده:پدیدآورندگان ایرانی]] 6cvruhxqn1vhm6r21gyczg09cspqesr بوف کور 0 2280 299409 299350 2026-09-12T15:15:34Z Hanooz 17889 299409 wikitext text/x-wiki {{header | title = بوف کور | author = صادق هدایت | translator = | section = | previous = ترانه‌های خیام | next = داستان ناز | year = ۱۳۱۵ | notes = | portal = ادبیات }} <pages index="The Blind Owl.pdf" include=1></pages> {{page break|label=}} <pages index="The Blind Owl.pdf" include=2></pages> {{page break|label=}} <pages index="The Blind Owl.pdf" include=3></pages> {{page break|label=}} <pages index="The Blind Owl.pdf" include=4></pages> {{page break|label=}} <pages index="The Blind Owl.pdf" from=5 to=144 /> {{مالکیت عمومی در هند}} {{authority control}} [[رده:رمان‌های ایرانی]] [[رده:رمان‌‌های کوتاه]] k30s7owxycx9y3nwp6sy2pztzu3hjkh 299410 299409 2026-09-12T15:16:22Z Hanooz 17889 299410 wikitext text/x-wiki {{header | title = بوف کور | author = صادق هدایت | translator = | section = | previous = [[ترانه‌های خیام]] | next = داستان ناز | year = ۱۳۱۵ | notes = | portal = ادبیات }} <pages index="The Blind Owl.pdf" include=1></pages> {{page break|label=}} <pages index="The Blind Owl.pdf" include=2></pages> {{page break|label=}} <pages index="The Blind Owl.pdf" include=3></pages> {{page break|label=}} <pages index="The Blind Owl.pdf" include=4></pages> {{page break|label=}} <pages index="The Blind Owl.pdf" from=5 to=144 /> {{مالکیت عمومی در هند}} {{authority control}} [[رده:رمان‌های ایرانی]] [[رده:رمان‌‌های کوتاه]] kolaspw8pg89cxzywes8r1zvxtpobnj رده:آثار بدون منبع 14 30334 299411 69955 2026-09-12T15:31:55Z Hanooz 17889 299411 wikitext text/x-wiki برای آثاری که در این رده قرار دارند هیچ منبعی معرفی نشده است. در صورتی که برچسب منبع به شکل طولانی‌مدت در یک صفحه قرار بگیرد و هیچ کس برای اثر مزبور منبعی ذکر نکند، شما می‌توانید پیشنهاد حذف آن اثر را بدهید. [[رده:وضعیت تکمیل متون]] teo0r6y93wof7thdu0o4s519v6jepnf بحث:بوف کور 1 45196 299413 112317 2026-09-12T16:24:06Z Hanooz 17889 اصالت و نشانه‌گذاری 299413 wikitext text/x-wiki [[:File:The Blind Owl.pdf]] {{رچ}}[[کاربر:Hanooz|Hanooz]] ([[بحث کاربر:Hanooz|بحث]]) ‏۳۰ دسامبر ۲۰۲۰، ساعت ۱۷:۴۲ (UTC) ::{{پب|Hanooz}} سلام. باتشکر بابت بارگذاری این کتاب، [[فهرست:The Blind Owl.pdf|صفحه‌ی فهرست مربوطه]] را ایجاد کردم. --<span style="font-family:times; text-shadow: 0 0 .11em #6af; font-size:12pt">[[User:Arash.z|Arash.z]] <small>([[User talk:Arash.z|بحث]])</small></span> چهارشنبه،۱۰ دی ۱۳۹۹، ساعت ۲۲:۴۸ (ایران) ‏۳۰ دسامبر ۲۰۲۰، ساعت ۱۹:۱۸ (UTC) == اصالت و نشانه‌گذاری == محمد بهارلو در مجله تجربه (فروردین ۱۳۹۷، صص ۴۶-۵۰) درباره اصالت نسخه‌ها و نشانه‌گذاری بوف کور نوشته. [[کاربر:Hanooz|Hanooz]] ([[بحث کاربر:Hanooz|بحث]]) ۱۲ سپتامبر ۲۰۲۶، ساعت ۱۶:۲۴ (UTC) ft4dlalrdc4afbtihesi2dbx1vpeh48 299414 299413 2026-09-12T16:24:24Z Hanooz 17889 /* اصالت و نشانه‌گذاری */ اصلاح ارقام 299414 wikitext text/x-wiki [[:File:The Blind Owl.pdf]] {{رچ}}[[کاربر:Hanooz|Hanooz]] ([[بحث کاربر:Hanooz|بحث]]) ‏۳۰ دسامبر ۲۰۲۰، ساعت ۱۷:۴۲ (UTC) ::{{پب|Hanooz}} سلام. باتشکر بابت بارگذاری این کتاب، [[فهرست:The Blind Owl.pdf|صفحه‌ی فهرست مربوطه]] را ایجاد کردم. --<span style="font-family:times; text-shadow: 0 0 .11em #6af; font-size:12pt">[[User:Arash.z|Arash.z]] <small>([[User talk:Arash.z|بحث]])</small></span> چهارشنبه،۱۰ دی ۱۳۹۹، ساعت ۲۲:۴۸ (ایران) ‏۳۰ دسامبر ۲۰۲۰، ساعت ۱۹:۱۸ (UTC) == اصالت و نشانه‌گذاری == محمد بهارلو در مجله تجربه (فروردین ۱۳۹۷، صص ۵۰-۴۶) درباره اصالت نسخه‌ها و نشانه‌گذاری بوف کور نوشته. [[کاربر:Hanooz|Hanooz]] ([[بحث کاربر:Hanooz|بحث]]) ۱۲ سپتامبر ۲۰۲۶، ساعت ۱۶:۲۴ (UTC) gky1nb1l6a4w3dejup6g7jpc52wj1w2 فهرست:The Blind Owl.pdf 106 45198 299417 267192 2026-09-12T17:51:51Z Hanooz 17889 299417 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |wikidata_item= |Title=بوف کور |Subtitle= |Volume= |Issue= |Edition= |Author=صادق هدایت |Foreword_Author= |Translator= |Editor= |Illustrator=صادق هدایت |Lyricist= |Composer= |Singer= |Publisher= |Address=بمبئی |Printer= |Year=۱۳۱۵ |Source=pdf |Image=1 |Progress=V |Pages=<pagelist 1=1 /> |Volumes= |Remarks= |Notes= |Header={{سصم|{{{pagenum}}}||}} |Footer= }} 9r2fdfdxxurolwmwj3b65mzrgjn3hh7 برگه:The Blind Owl.pdf/۵ 104 45203 299405 299347 2026-09-12T13:12:30Z Hanooz 17889 299405 proofread-page text/x-wiki <noinclude><pagequality level="4" user="Ali Khomami P" /></noinclude>{{Img float | file = First page of The Blind Owl (cropped).png | width = 300px | align = center }} {{وسط|{{font-size|300%|بوف کور}}}} در زندگی زخمهایی هست که مثل خوره روح را آهسته در انزوا میخورد و میتراشد — این دردها را نمیشود بکسی اظهار کرد، چون عموماً عادت دارند که این دردهای باورنکردنی را جزو اتفاقات و پیش‌آمدهای نادر و عجیب بشمارند و اگر کسی بگوید یا بنویسد مردم<noinclude></noinclude> s8hrqyqm26r95majzmf0evflxs3k1gb برگه:The Blind Owl.pdf/۶ 104 45204 299406 283518 2026-09-12T13:18:14Z Hanooz 17889 299406 proofread-page text/x-wiki <noinclude><pagequality level="4" user="Ali Khomami P" />{{سرصفحه‌مستمر|۶||}}</noinclude>بر سبیل عقاید جاری و اعتقادات خودشان سعی میکنند که با لبخند شکاک و تمسخرآمیز تلقی بکنند — زیرا بشر هنوز چاره و دوایی برایش پیدا نکرده و تنها داروی آن فراموشی بتوسط شراب و خواب مصنوعی بوسیله افیون و مواد مخدره است — ولی افسوس که تاثیر اینگونه داروها موقتی است و بجای تسکین پس از مدتی بر شدت درد میافزاید — آیا روزی به اسرار این اتفاقات ماوراءِ طبیعی، این انعکاس سایه روح که در حالت اغما و برزخ بین خواب و بیداری جلوه میکند کسی پی خواهد برد؟ من فقط بشرح یکی ازین پیش‌آمدها میپردازم که برای خودم اتفاق افتاده و بقدری مرا تکان داده که هرگز فراموش نخواهم کرد و نشان مشئوم آن تا زنده‌ام، تا روز ازل، تا انجائیکه خارج از فهم و ادراک بشر است زندگی مرا زهرآلود خواهد کرد. – زهرآلود نوشتم، ولی میخواستم بگویم داغ آنرا همیشه با خودم داشته و خواهم داشت. من سعی خواهم کرد آنچه را که یادم است، آنچه را که از ارتباط وقایع در نظرم مانده بنویسم، شاید بتوانم راجع به آن یک قضاوت کلی بکنم،– نه، فقط اطمینان حاصل بکنم و یا اصلاً خودم بتوانم باور بکنم – چون برای من هیچ اهمیتی ندارد که دیگران باور بکنند یا نکنند، فقط میترسم<noinclude></noinclude> m2ogjj1vvnvltgfol55bne3xgsfe829 299418 299406 2026-09-13T04:06:22Z Hanooz 17889 299418 proofread-page text/x-wiki <noinclude><pagequality level="4" user="Ali Khomami P" />{{سرصفحه‌مستمر|۶||}}</noinclude>بر سبیل عقاید جاری و اعتقادات خودشان سعی میکنند که با لبخند شکاک و تمسخرآمیز تلقی بکنند — زیرا بشر هنوز چاره و دوایی برایش پیدا نکرده و تنها داروی آن فراموشی بتوسط شراب و خواب مصنوعی بوسیله افیون و مواد مخدره است — ولی افسوس که تاثیر اینگونه داروها موقتی است و بجای تسکین پس از مدتی بر شدت درد میافزاید — آیا روزی به اسرار این اتفاقات ماوراءِ طبیعی، این انعکاس سایه روح که در حالت اغما و برزخ بین خواب و بیداری جلوه میکند کسی پی خواهد برد؟ من فقط بشرح یکی ازین پیش‌آمدها میپردازم که برای خودم اتفاق افتاده و بقدری مرا تکان داده که هرگز فراموش نخواهم کرد و نشان مشئوم آن تا زنده‌ام، تا روز ازل، تا انجائیکه خارج از فهم و ادراک بشر است زندگی مرا زهرآلود خواهد کرد. — زهرآلود نوشتم، ولی میخواستم بگویم داغ آنرا همیشه با خودم داشته و خواهم داشت. من سعی خواهم کرد آنچه را که یادم است، آنچه را که از ارتباط وقایع در نظرم مانده بنویسم، شاید بتوانم راجع به آن یک قضاوت کلی بکنم،— نه، فقط اطمینان حاصل بکنم و یا اصلاً خودم بتوانم باور بکنم – چون برای من هیچ اهمیتی ندارد که دیگران باور بکنند یا نکنند، فقط میترسم<noinclude></noinclude> p71wkblnpy9svwosy8z8a00lf4o3nhm برگه:The Blind Owl.pdf/۷ 104 45205 299407 283520 2026-09-12T13:21:17Z Hanooz 17889 299407 proofread-page text/x-wiki <noinclude><pagequality level="4" user="Darafsh" />{{سرصفحه‌مستمر|۷||}}</noinclude>که فردا بمیرم و هنوز خودم را نشناخته باشم — زیرا در طی تجربیات زندگی باین مطلب برخوردم که چه ورطه هولناکی میان من و دیگران وجود دارد و فهمیدم که تا ممکن است باید خاموش شد، تا ممکن است باید افکار خودم را برای خودم نگهدارم و اگر حالا تصمیم گرفتم که بنویسم فقط برای اینست که خودم را بسایه‌ام معرفی بکنم — سایه‌ای که روی دیوار خمیده و مثل اینست که هرچه مینویسم با اشتهای هر چه تمامتر می‌بلعد – برای اوست که میخواهم آزمایشی بکنم به بینم شاید بتوانیم یکدیگر را بهتر بشناسیم – چون از زمانیکه همه روابط خودم را با دیگران بریده‌ام میخواهم خودم را بهتر بشناسم. افکار پوچ! – باشد، ولی از هر حقیقتی بیشتر مرا شکنجه میکند – آیا این مردمی که شبیه من هستند، که ظاهراً احتیاجات و هوا و هوس مرا دارند برای گول زدن من نیستند آیا یکمشت سایه نیستند که فقط برای مسخره کردن و گول زدن من بوجود آمده‌اند؟ آیا آنچه که حس میکنم، می‌بینم و می‌سنجم سرتاسر موهوم نیست که با حقیقت خیلی فرق دارد؟ من فقط برای سایه خودم مینویسم که جلو چراغ بدیوار افتاده است، باید خودم را بهش معرفی بکنم. {{ته}}<noinclude></noinclude> kfa6exksixhkrs3trhtub813ne3j67o 299419 299407 2026-09-13T04:06:53Z Hanooz 17889 299419 proofread-page text/x-wiki <noinclude><pagequality level="4" user="Darafsh" />{{سرصفحه‌مستمر|۷||}}</noinclude>که فردا بمیرم و هنوز خودم را نشناخته باشم — زیرا در طی تجربیات زندگی باین مطلب برخوردم که چه ورطه هولناکی میان من و دیگران وجود دارد و فهمیدم که تا ممکن است باید خاموش شد، تا ممکن است باید افکار خودم را برای خودم نگهدارم و اگر حالا تصمیم گرفتم که بنویسم فقط برای اینست که خودم را بسایه‌ام معرفی بکنم — سایه‌ای که روی دیوار خمیده و مثل اینست که هرچه مینویسم با اشتهای هر چه تمامتر می‌بلعد — برای اوست که میخواهم آزمایشی بکنم به بینم شاید بتوانیم یکدیگر را بهتر بشناسیم — چون از زمانیکه همه روابط خودم را با دیگران بریده‌ام میخواهم خودم را بهتر بشناسم. افکار پوچ! — باشد، ولی از هر حقیقتی بیشتر مرا شکنجه میکند — آیا این مردمی که شبیه من هستند، که ظاهراً احتیاجات و هوا و هوس مرا دارند برای گول زدن من نیستند آیا یکمشت سایه نیستند که فقط برای مسخره کردن و گول زدن من بوجود آمده‌اند؟ آیا آنچه که حس میکنم، می‌بینم و می‌سنجم سرتاسر موهوم نیست که با حقیقت خیلی فرق دارد؟ من فقط برای سایه خودم مینویسم که جلو چراغ بدیوار افتاده است، باید خودم را بهش معرفی بکنم. {{ته}}<noinclude></noinclude> 0n5ik3f24qjq7otl759wfl3dbiwqlvx برگه:The Blind Owl.pdf/۹ 104 45210 299420 299378 2026-09-13T04:08:48Z Hanooz 17889 299420 proofread-page text/x-wiki <noinclude><pagequality level="4" user="Hanooz" />{{سصم|۹||}}</noinclude>بعد از او من دیگر خودم را از جرگه آدمها، از جرگه احمقها و خوشبخت‌ها بکلی بیرون کشیدم و برای فراموشی بشراب و تریاک پناه بردم — زندگی من تمام روز میان چهار دیوار اطاقم میگذشت و میگذرد — سرتاسر زندگیم میان چهار دیوار گذشته است — تمام روز مشغولیات من نقاشی روی جلد [[w:قلمدان|قلمدان]] بود — همه وقتم وقف نقاشی روی جلد قلمدان و استعمال مشروب و تریاک میشد و شغل مضحک نقاشی روی قلمدان را اختیار کرده بودم برای اینکه خودم را گیج بکنم، برای اینکه وقت را بکشم. از حسن اتفاق خانه‌ام بیرون شهر، در یک محل ساکت و آرام دور از آشوب و جنجال زندگی مردم واقع شده — اطراف آن کاملاً مجزا و دورش خرابه است. فقط از انطرف خندق خانه‌های گلی توسری خورده پیداست و شهر شروع میشود — نمیدانم این خانه را کدام مجنون یا کج سلیقه در [[w:عهد دقیانوس|عهد دقیانوس]] ساخته، چشمم را که می‌بندم نه فقط همه سوراخ سنبه‌هایش پیش چشمم مجسم میشود بلکه فشار آنها را روی دوش خودم حس میکنم — خانه‌ای که فقط روی قلمدانهای قدیم ممکن است نقاشی کرده باشند. {{ته}}<noinclude></noinclude> ayns5z1vpkfn4pzc3iq53vvvu8x9bts برگه:The Blind Owl.pdf/۱۰ 104 45224 299421 299379 2026-09-13T04:09:17Z Hanooz 17889 299421 proofread-page text/x-wiki <noinclude><pagequality level="4" user="Hanooz" />{{سصم|۱۰||}}</noinclude>باید همه اینها را بنویسم تا به بینم که بخودم مشتبه نشده باشد، باید همه اینها را بسایه خودم که روی دیوار افتاده توضیح بدهم — آری، پیشتر برایم فقط یک دلخوشی یا دلخوشکنک مانده بود — میان چهار دیوار اطاقم روی قلمدان نقاشی میکردم و با این سرگرمی مضحک وقت را میگذرانیدم اما بعد از آنکه آن دو چشم را دیدم، بعد از آنکه او را دیدم اصلاً معنی، مفهوم و ارزش هر جنبش و حرکتی از نظرم افتاد — ولی چیزی که غریب، چیزیکه باورنکردنی است نمیدانم چرا موضوع مجلس همه نقاشیهای من از ابتدا یکجور و یک شکل بوده است: همیشه یک درخت سرو میکشیدم که زیرش پیرمردی قوز کرده شبیه [[w:یوگی (هندوئیسم)|جوکیان]] هندوستان عبا بخودش پیچیده، چنباتمه نشسته و دور سرش چالمه بسته بود و انگشت سبابه دست چپش را بحالت تعجب به لبش گذاشته بود — روبروی او دختری با لباس سیاه بلند خم شده باو [[w:نیلوفر آبی|گل نیلوفر]] تعارف میکرد، چون میان آنها یک جوی آب فاصله داشت — آیا این مجلس را من سابقاً دیده بوده‌ام یا در خواب بمن الهام شده بود؟ نمیدانم. فقط میدانم که هر چه نقاشی میکردم همه‌اش همین مجلس و همین موضوع بود،<noinclude></noinclude> 78acairmo8xx0rec3g4aocju06fa1qo پودمان:Proofreadpage index template 828 83581 299415 277684 2026-09-12T17:44:41Z Hanooz 17889 299415 Scribunto text/plain --[=[ This is a module to implement logic for [[MediaWiki:Proofreadpage index template]] ]=] local getArgs = require('Module:Arguments').getArgs local messageBox = require('Module:Message box') local ISO_639 = require('Module:ISO 639') local error_text = require('Module:Error')['error'] local category_handler = require('Module:Category handler')._main local p = {} -- p stands for package local cfg = require('Module:Proofreadpage index template/config') local attribution_data = require('Module:Header/attribution data') local function process_args(args) -- Set any defaults for k, v in pairs(cfg.defaults) do if args[k] == nil then args[k] = cfg.defaults[k] end end args.source_type = cfg['cover_cats']['file_types'][args['Source']] args.pageTitle = (args.pageTitle and mw.title.new(args.pageTitle)) or mw.title.getCurrentTitle() args.fileTitle = mw.title.makeTitle('File', args.pageTitle.rootText) args.talkPageTitle = args.pageTitle.talkPageTitle args.file_exists = args.fileTitle.file.exists -- Expensive, so only compute once return args end local function construct_cat(cat) return '[[Category:' .. cat .. ']]' end local function construct_cat_link(cat, text) return '[[:Category:' .. cat .. '|' .. (text or cat) .. ']]' end -- Construct a basic "field" row local function construct_field(id, content) if id == nil or content == nil then return nil elseif not cfg.headings[id] then error(cfg.missing_heading_id(id)) end local tr = mw.html.create('tr') :attr('id', 'ws-index-' .. id .. '-row') :addClass('ws-index-row') :tag('th') :attr('scope', 'row') :attr('id', 'ws-index-' .. id .. '-label') :addClass('ws-index-label') :wikitext(cfg.headings[id]['txt']) :done() :tag('td') :attr('id', 'ws-index-' .. id .. '-value') :addClass('ws-index-value') :wikitext(content) :allDone() return tr end local function construct_status_field(args, statusArgs) local key = statusArgs.key local lower_key = string.lower(key) local config_key = statusArgs.config_key or lower_key local index_status = args[key] or '_missing' local sd = cfg[config_key][index_status] or cfg[config_key]['_default'] local index_status_message = sd['txt'] if type(index_status_message) == 'function' then index_status_message = index_status_message(index_status) end if sd['error'] then index_status_message = error_text({['message'] = index_status_message, ['tag'] = 'span'}) else index_status_message = construct_cat_link(sd['cat'], index_status_message) end return {row = construct_field(lower_key, index_status_message), cat = construct_cat(sd['cat'])} end --[=[ Create indicator markup based on config Loads the config module and creates indicator extension tags after pattern <indicator name="foo">[[File:Foo.svg|20px|link=bar|caption|alt=Alt text.]]</indcator> ]=] local function construct_indicator(args, iArgs) if not (iArgs.include or cfg.indicator_defaults.include)(args) then return nil end local indicator_parts = { iArgs.image or cfg.indicator_defaults.image, iArgs.width or cfg.indicator_defaults.width } local alt = iArgs.alt or cfg.indicator_defaults.alt table.insert(indicator_parts, alt and 'alt=' .. alt) local link = iArgs.link or cfg.indicator_defaults.link if type(link) == 'function' then link = link(args) end table.insert(indicator_parts, link and 'link=' .. link) local caption = iArgs.caption or cfg.indicator_defaults.caption if type(caption) == 'function' then caption = caption(args) end table.insert(indicator_parts, caption) return mw.getCurrentFrame():extensionTag{ ['name'] = 'indicator', ['content'] = '[[' .. table.concat(indicator_parts, '|') .. ']]', ['args'] = { ['name'] = iArgs.name or cfg.indicator_defaults.name } } end local function _metadata(args) local metadatatable = mw.html.create('table') :attr('id', 'ws-index-metadata') local cats = {} local indicators = {} if args['Title'] then metadatatable:node(construct_field('title', table.concat({args['Title'], args['Volume']}, ', '))) else metadatatable:node(construct_field('title', args['Volume'] or '')) end local simple_args = {} for i, v in ipairs(attribution_data) do local noun = v.noun table.insert(simple_args, {string.upper(string.sub(noun, 1, 1)) .. string.sub(noun, 2)}) end table.insert(simple_args, {'Year'}) table.insert(simple_args, {'Publisher'}) table.insert(simple_args, {'Address', 'place'}) for i, v in ipairs(simple_args) do metadatatable:node(construct_field(v[2] or string.lower(v[1]), args[v[1]])) end -- Categorize image-based indexes if args.source_type and cfg['cover_cats'][args.source_type] then table.insert(cats, construct_cat(cfg['cover_cats'][args.source_type])) elseif not args.source_type then table.insert(cats, construct_cat(cfg['cover_cats']['unknown'])) end local source = args['Source'] if args.file_exists then source = '[[:' .. args.fileTitle.fullText .. '|' .. source .. ']]' else -- Add a tracking category table.insert(cats, construct_cat(cfg.cover_cats.missing)) end metadatatable:node(construct_field('source', source)) -- Progress local progress_data = construct_status_field(args, {['key'] = 'Progress', ['config_key'] = 'status'}) metadatatable:node(progress_data.row) table.insert(cats, progress_data.cat) -- Transclusion status local transclusion_data = construct_status_field(args, {['key'] = 'Transclusion'}) metadatatable:node(transclusion_data.row) table.insert(cats, transclusion_data.cat) local vdate = args['Validation_date'] if vdate then local vcat = cfg['validation_cats']['dated'](vdate) metadatatable:node(construct_field('validation_date', construct_cat_link(vcat, vdate))) table.insert(cats, construct_cat(vcat)) elseif args['Progress'] == 'T' then table.insert(cats, construct_cat(cfg['validation_cats']['undated'])) end local info_args = {'ISBN', 'OCLC', 'LCCN', 'ARK', --[=['National Archives',]=] 'DOI'} for i, v in ipairs(info_args) do local val = args[v] if val then local lower_key = string.lower(v) local link_fn = cfg.url_gens[lower_key] if link_fn then metadatatable:node(construct_field(lower_key, link_fn(val, val))) end end end metadatatable:node(construct_field('volumes', args['Volumes'])) -- Language categorisations if args.Language then local langs = mw.text.split(args.Language, ',%s*', false) for _, l in ipairs(langs) do local lang = mw.text.trim(l) if lang ~= '' then table.insert(cats, construct_cat(cfg['language_cats']['single'](ISO_639.language_name(lang)))) end end if #langs > 1 then table.insert(cats, construct_cat(cfg['language_cats']['multi'])) end end return {['table'] = metadatatable, cats = table.concat(cats), indicators = table.concat(indicators)} end --[=[ Get the image to use as the cover image for this index If the Image parameter contains an integer, it refers to a page in a DjVu/PDF and can be used directly Otherwise, it may be a full image specification that we can use directly, or just an image filename that we can construct an image specification for ]=] local function default_cover_image(link) return '[[' .. cfg.cover.image .. '|' .. cfg.cover.width .. '|link=' .. link .. '|class=ws-cover]]' end local function _cover(args) local image_number = tonumber(args['Image']) -- check for timestamps if args['Image'] and not image_number and args.source_type == 'audiovisual' and mw.ustring.match(args['Image'], '^%d+[%d:]*$') then image_number = args['Image'] end local image_spec local cats = {} if not image_number and args['Image'] and mw.ustring.find(args['Image'], '^%[%[') then -- Image param is not a (page) number and looks like a full image specification image_spec = args['Image'] if args.source_type ~= 'image' then -- Add a tracking category table.insert(cats, construct_cat(cfg.cover_cats.fullspec)) end elseif not image_number and args['Image'] and mw.ustring.find(args['Image'], '%.%w+$') then -- Image param is not a (page) number and is probably a filename with or without File: prefix image_spec = args['Image'] local image_prefixes = { mw.site.namespaces.File.name, mw.site.namespaces.File.canonicalName } for i, alias in ipairs(mw.site.namespaces.File.aliases) do table.insert(image_prefixes, alias) end for i, prefix in ipairs(image_prefixes) do image_spec = mw.ustring.gsub(image_spec, '^' .. prefix .. ':', '') image_spec = mw.ustring.gsub(image_spec, '^' .. string.lower(prefix) .. ':', '') end image_spec = '[[File:' .. image_spec .. '|' .. cfg.cover.width .. '|class=ws-cover]]' if args.source_type ~= 'image' then -- Add a tracking category table.insert(cats, construct_cat(cfg.cover_cats.fullspec)) end elseif args.source_type == 'multipage' and args.file_exists then -- It's a DjVu/PDF-backed index, so we fetch the cover image from a page in the (multipage) file image_spec = '[[' .. args.fileTitle.prefixedText .. '|' .. cfg.cover.width .. '|page=' .. (image_number or 1) .. '|class=ws-cover]]' elseif args.source_type == 'audiovisual' and args.file_exists then -- It's an audio/video-backed index, so we fetch the cover image from a thumbnail time image_spec = '[[' .. args.fileTitle.prefixedText .. '|' .. cfg.cover.width .. '|thumbtime=' .. (image_number or 0) .. '|class=ws-cover]]' elseif args.file_exists then -- It's either an image-based index or some unknown type, so we use the file image_spec = '[[' .. args.fileTitle.prefixedText .. '|' .. cfg.cover.width .. '|class=ws-cover]]' else -- Our associated file doesn't exist, so we use a placeholder local image_link = args.fileTitle.prefixedText if mw.ustring.find(args.fileTitle.rootText, '^.*%.%w+') == nil then image_link = 'Special:Upload' end image_spec = default_cover_image(image_link) end return image_spec .. table.concat(cats) end -- Also implements [[Template:Index talk remarks]] function p._index_talk_remarks(args) if not args.talkPageTitle then args.pageTitle = (args.pageTitle and mw.title.new(args.pageTitle)) or mw.title.getCurrentTitle() args.talkPageTitle = args.pageTitle.talkPageTitle end local text = cfg['talkremarks']['text'](args) local cat = category_handler({construct_cat(cfg['talkremarks']['cat'])}) or '' local notes = '' if args.notes then -- 5.5em is small enough, and has the convenience of probably showing the top of a line when there are too many notes = mw.html.create('div') :addClass('ombox-content') :css({ ['text-align'] = 'left', ['max-height'] = '5.5em', ['overflow'] = 'scroll', ['padding'] = '0.25em', ['margin'] = '0.25em', ['border-style'] = 'dashed' }) :newline() :wikitext(args.notes .. cat) :newline() :allDone() end return messageBox.main('ombox', { ['type'] = 'content', ['image'] = '[[File:Ambox important.svg|24px]]', ['style'] = 'box-sizing:border-box;margin:-0.93em auto 0.0em;text-align:center;width:100%;', ['textstyle'] = 'font-size:93%;text-decoration:none;', ['text'] = text .. tostring(notes) }) end function p.index_talk_remarks(frame) return p._index_talk_remarks(getArgs(frame)) end -- Main function local function _main(args) args = process_args(args) local talkremarks = '' local talk_page_exists = args.talkPageTitle.exists -- Expensive if talk_page_exists and not args.notes then local content = args.talkPageTitle.content for _, keyword in ipairs(cfg.talkremarks.keywords) do local pattern if keyword.alone then -- Only whitespace around pattern = '==( *' .. keyword.pattern .. ' *)==' else -- Allow for other content besides the keyword pattern = '==([^=%n]*' .. keyword.pattern .. '[^=%n]*)==' end -- Capture section header local section = mw.ustring.match(content, pattern) if section then -- Specifically transclude the section local section_text = mw.getCurrentFrame():callParserFunction('#lsth', args.talkPageTitle.prefixedText, mw.text.trim(section)) args.notes = section_text break end end end if talk_page_exists then talkremarks = p._index_talk_remarks(args) end local metadata_data = _metadata(args) local sortkey = mw.getCurrentFrame():callParserFunction('DEFAULTSORT', {args['Key'] or args.pageTitle.text}) local is = {} for _, v in pairs(cfg.indicators) do table.insert(is, construct_indicator(args, v)) end table.insert(is, metadata_data.indicators) local indicators = table.concat(is) local outertable = mw.html.create('table') :attr('id', 'ws-index-container') local outertable_tr = outertable:tag('tr') outertable_tr :tag('td') :attr('id', 'ws-index-main-cell') :tag('table') :attr('id', 'ws-index-main-table') :tag('tr'):tag('td') :tag('div') :attr('id', 'ws-index-cover-container') :wikitext(_cover(args)) :done() :node(metadata_data['table']) :done() :tag('tr'):tag('td'):tag('div') :attr('id', 'ws-index-pagelist-container') :addClass('mw-collapsible') :tag('em'):wikitext(cfg.pagelist.pages.txt):done() :wikitext(' ') :tag('span') :attr('id', 'ws-index-pagelist-legend') :wikitext(cfg.pagelist.legend.txt) :done() :tag('div') :attr('id', 'ws-index-pagelist') :addClass('index-pagelist mw-collapsible-content') :newline() :wikitext(args['Pages'] and mw.text.trim(args['Pages'])) :newline() if args['Remarks'] then outertable_tr:tag('td') :attr('id', 'ws-index-remarks') :newline() :wikitext(mw.getCurrentFrame():preprocess(args['Remarks'])) else outertable_tr:tag('td') :attr('id', 'ws-index-remarks-empty') end return talkremarks .. indicators .. tostring(outertable) .. metadata_data.cats .. sortkey end function p.main(frame) return _main(getArgs(frame)) end return p qel72vrcalz8vdmdarq30y1kswrsckb ویکی‌نبشته:آثار/۲۰۲۶ 4 90009 299412 299107 2026-09-12T15:44:40Z Hanooz 17889 بوف کور 299412 wikitext text/x-wiki {{process header | title = آثار نمونه‌خوانی‌شده که در سال ۲۰۲۶ افزوده شده‌اند | section = | previous = [[../۲۰۲۵/]] | next = [[../۲۰۲۷/]] | shortcut = | notes = }} <onlyinclude> {{new texts/item|بوف کور|صادق هدایت|۱۳۱۵}} {{new texts/item|ضوابط تعیین بهای اراضی و مستحدثات قم باستناد تصویب‌نامه‌های صادره از طرف هیئت محترم وزیران|}} {{new texts/item|قانون نوسازی و عمران شهری (ضمیمه روزنامه رسمی کشور شاهنشاهی ایران)|display=قانون نوسازی و عمران شهری|}} {{new texts/item|قانون متحدالشکل نمودن البسه اتباع ایران در داخله مملکت|مجلس شورای ملی|۱۳۰۷}} {{new texts/item|اساسنامه و نظامنامه کانون بانوان||۱۳۱۴}} {{new texts/item|رضا شاه کبیر|محمدرضاشاه پهلوی|}} {{new texts/item|تصویبنامه راجع به پرچم ایران|وزارت جنگ|۱۳۳۶|nowiki=true}} {{new texts/item|روزنامه رسمی کشور شاهنشاهی ایران/شماره ۶۵۱۶|display=روزنامه رسمی کشور شاهنشاهی ایران، شماره ۶۵۱۶|وزارت دادگستری|۱۳۴۶|nowiki=true}} </onlyinclude> {{new texts/item|روزنامه رسمی کشور شاهنشاهی ایران/شماره ۸۷۸۵|display=روزنامه رسمی کشور شاهنشاهی ایران، شماره ۸۷۸۵|وزارت دادگستری|۱۳۵۳|nowiki=true}} {{new texts/item|قانون اساسی جمهوری اسلامی ایران (مصوب ۱۳۵۸)|display=قانون اساسی جمهوری اسلامی ایران|مجلس خبرگان قانون اساسی|۱۳۵۸|nowiki=true}} {{new texts/item|عقل سرخ|شهاب‌الدین یحیی سهروردی|۱۳۱۹}} {{new texts/item|هشت کتاب|سهراب سپهری|۱۳۵۸}} {{new texts/item|اطلاعات/شماره ۶|display=روزنامه اطلاعات، شماره ۶|مرکز اطلاعات ایران|۱۳۰۵|nowiki=true}} {{new texts/item|اطلاعات/شماره ۵|display=روزنامه اطلاعات، شماره ۵|مرکز اطلاعات ایران|۱۳۰۵|nowiki=true}} {{new texts/item|انقلاب سفید|محمدرضاشاه پهلوی|}} {{new texts/item|استاندارد تمثال علیا حضرت شهبانوی ایران|مؤسسه استاندارد و تحقیقات صنعتی ایران|۱۳۴۴|nowiki=true}} {{new texts/item|رساله موسومه به یک کلمه|یوسف مستشارالدوله|۱۳۲۵}} 3onfyz8ici022tu33vbjbl6rfeq9rif پودمان:Proofreadpage index template/config 828 95456 299416 2026-09-12T17:47:56Z Hanooz 17889 صفحه‌ای تازه حاوی «local function any_case(str) return str:gsub('.', function (chr) if chr:match('%a') then -- letters return '[' .. chr:lower() .. chr:upper() .. ']' else return chr -- leave as-is end end) end return { ['defaults'] = { ['Source'] = '_empty_', }, ['pagelist'] = { ['pages'] = { ['txt'] = 'Pages' }, ['legend'] = { ['txt'] = '(key to [[Help:Page Status|Page Status]])' } }, ['cover'] = { ['width'] = '250...» ایجاد کرد 299416 Scribunto text/plain local function any_case(str) return str:gsub('.', function (chr) if chr:match('%a') then -- letters return '[' .. chr:lower() .. chr:upper() .. ']' else return chr -- leave as-is end end) end return { ['defaults'] = { ['Source'] = '_empty_', }, ['pagelist'] = { ['pages'] = { ['txt'] = 'Pages' }, ['legend'] = { ['txt'] = '(key to [[Help:Page Status|Page Status]])' } }, ['cover'] = { ['width'] = '250px', ['image'] = 'File:Placeholder book.svg' }, ['missing_heading_id'] = function (id) return 'Can\'t find heading for ID: ' .. id end, ['headings'] = { ['title'] = { ['txt'] = 'Title' }, ['progress'] = { ['txt'] = 'Progress' }, ['transclusion'] = { ['txt'] = 'Transclusion' }, ['validation_date'] = { ['txt'] = 'Validated in' }, ['source'] = { ['txt'] = 'Source' }, ['place'] = { ['txt'] = 'Location' }, ['year'] = { ['txt'] = 'Year' }, ['publisher'] = { ['txt'] = 'Publisher' }, ['author'] = { ['txt'] = 'Author' }, ['editor'] = { ['txt'] = 'Editor' }, ['translator'] = { ['txt'] = 'Translator' }, ['illustrator'] = { ['txt'] = 'Illustrator' }, ['volumes'] = { ['txt'] = 'Volumes' }, ['isbn'] = { ['txt'] = 'ISBN' }, ['oclc'] = { ['txt'] = 'OCLC' }, ['lccn'] = { ['txt'] = 'LCCN' }, ['ark'] = { ['txt'] = 'ARK' }, --[=[ ['National Archives'] = { ['txt'] = 'National Archives' }, ]=] ['doi'] = { ['txt'] = 'DOI' } }, ['status'] = { ['T'] = { ['cat'] = 'Index Validated', ['txt'] = 'Done—All pages of the work proper are validated', }, ['V'] = { ['cat'] = 'Index Proofread', ['txt'] = 'Proofread—All pages of the work proper are proofread, but not all are validated', }, ['C'] = { ['cat'] = 'Index Not-Proofread', ['txt'] = 'To be proofread', }, ['MS'] = { ['cat'] = 'Index - Ready for Match and Split', ['txt'] = 'Ready for Match and Split', }, ['OCR'] = { ['cat'] = 'Index - Text Layer Requested', ['txt'] = 'Source file needs an OCR text layer', }, ['L'] = { ['cat'] = 'Index - File to fix', ['txt'] = 'Source file must be fixed before proofreading', ['error'] = true, }, ['X'] = { ['cat'] = 'Index - File to check', ['txt'] = 'Create a pagelist for the source file before commencing proofreading (to verify file is correct)', ['error'] = true }, ['_missing'] = { ['cat'] = 'Index - Unknown progress', ['txt'] = 'Missing progress (template error)', ['error'] = true, }, ['_default'] = { ['cat'] = 'Index - Unknown progress', ['txt'] = function (index_status) return 'Unknown progress: ' .. index_status .. ' (template error)' end, ['error'] = true, } }, ['transclusion'] = { ['yes'] = { ['cat'] = 'Fully transcluded', ['txt'] = 'Fully transcluded', ['help'] = 'The work is fully transcluded, including front and end matter and images' }, ['notimg'] = { ['cat'] = 'Images not fully transcluded', ['txt'] = 'Images not fully transcluded', ['help'] = 'The work is fully transcluded, but that some images are still missing or need improvement', }, ['notadv'] = { ['cat'] = 'Advertising not transcluded', ['txt'] = 'Advertising not transcluded', ['help'] = 'The main body of the work is properly transcluded, though front- or end-matter advertising material is not' }, ['held'] = { ['cat'] = 'Transclusion on hold', ['txt'] = 'Transclusion on hold', ['help'] = 'There is a problem with transcluding the work (which should be explained on the talk page)' }, ['check'] = { ['cat'] = 'Transclusion check required', ['txt'] = 'Transclusion check required', ['help'] = 'The transclusion of the work is incomplete or needs checking' }, ['no'] = { ['cat'] = 'Index not transcluded', ['txt'] = 'Index not transcluded or unreviewed', ['help'] = 'This work is not transcluded or has not been reviewed for transclusion' }, ['_missing'] = { ['cat'] = 'Index not transcluded', ['txt'] = 'Missing transclusion status (template error)', ['error'] = true, }, ['_default'] = { ['cat'] = 'Index not transcluded', ['txt'] = function (index_status) return 'Unknown transclusion status: ' .. index_status .. ' (template error)' end, ['error'] = true, } }, ['language_cats'] = { ['single'] = function(lang) return 'Index pages of works originally in ' .. (lang or 'an unknown language') end, ['multi'] = 'Index pages of works originally in multiple languages' }, ['cover_cats'] = { ['file_types'] = { ['jpg'] = 'image', ['png'] = 'image', ['gif'] = 'image', ['tif'] = 'image', ['ogg'] = 'audiovisual', ['ogv'] = 'audiovisual', ['webm'] = 'audiovisual', ['_empty_'] = 'unknown', ['pdf'] = 'multipage', ['djvu'] = 'multipage' }, ['image'] = 'Image based indexes', ['audiovisual'] = 'Audio-visual based indexes', ['unknown'] = 'Indexes of unknown type', ['missing'] = 'Indexes with missing files', ['fullspec'] = 'Non-image-based indexes with fully-specified cover image' }, ['validation_cats'] = { ['dated'] = function(vdate) return 'Indexes validated in ' .. vdate end, ['undated'] = 'Indexes validated with no date' }, ['indicators'] = { ['pagegame'] = { ['name'] = 'WS Page Game', ['image'] = 'File:OOjs UI icon page number.svg', ['link'] = function(args) return tostring(mw.uri.fullUrl('toolforge:ws-page-game', {['wikisource'] = 'en', ['index'] = mw.uri.encode(args.fileTitle.rootText), ['lang'] = 'en'})) end, ['caption'] = 'Wikisource Page Game (step-by-step pagelist builder)' }, ['purge'] = { ['name'] = 'purge file', ['image'] = 'File:OOjs UI icon reload.svg', ['link'] = function(args) return tostring(mw.uri.fullUrl('commons:File:' .. args.fileTitle.rootText, {['action'] = 'purge'})) end, ['caption'] = 'Purge file' }, ['book2scroll'] = { ['name'] = 'book2scroll', ['image'] = 'File:Library-logo.svg', ['link'] = function(args) return tostring(mw.uri.fullUrl('toolforge:book2scroll', {['lang'] = 'en', ['file'] = mw.uri.encode(args.fileTitle.rootText)})) end, ['caption'] = 'Open in Book2Scroll' }, ['bookreader'] = { ['name'] = 'bookreader', ['image'] = 'File:BookReader-favicon.svg', ['link'] = function(args) return tostring(mw.uri.fullUrl('toolforge:bookreader/en/' .. mw.uri.encode(args.fileTitle.rootText))) end, ['caption'] = 'Open file in BookReader' }, ['validated'] = { ['name'] = 'validated-index-date', ['image'] = 'File:Yes Check Circle.svg', ['link'] = function (args) local vdate = args['Validation_date'] return vdate and tostring(mw.uri.fullUrl('Category:Indexes validated in ' .. vdate)) or '' end, ['caption'] = function (args) local vdate = args['Validation_date'] return vdate and 'Validated in ' .. vdate or nil end, ['alt'] = 'Validated index page.', ['width'] = '15px', ['include'] = function (args) return args['Validation_date'] ~= nil end } }, ['indicator_defaults'] = { ['width'] = '20px', ['include'] = function (args) return true end }, ['url_gens'] = { ['isbn'] = function(id, text) return require('Module:ISBN')._ISBN({id}) end, ['oclc'] = function(id, text) return '[https://www.worldcat.org/oclc/' .. mw.uri.encode(id, 'PATH') .. ' ' .. text .. ']' end, ['ark'] = function(id, text) return '[https://n2t.net/' .. mw.uri.encode(id, 'QUERY') .. ' ' .. text .. ']' end, ['doi'] = function(id, text) return '[https://doi.org/' .. mw.uri.encode(id, 'PATH') .. ' ' .. text .. ']' end }, ['talkremarks'] = { ['text'] = function(args) return 'Formatting guidelines specific to this work may have already been established. Please check this [[' .. args.talkPageTitle.prefixedText .. '|Index\'s discussion page]] and follow any such conventions.' end, ['cat'] = 'Pages using index talk remarks with notes parameter', ['keywords'] = { { ['pattern'] = any_case('notes?'), ['alone'] = true }, { ['pattern'] = any_case('quick notes?'), ['alone'] = false }, { ['pattern'] = any_case('proofr?e?a?d?ing notes?'), -- proofreading notes, proofing note, &c ['alone'] = false }, { ['pattern'] = any_case('style notes?'), ['alone'] = false }, { ['pattern'] = any_case('layout notes?'), ['alone'] = false }, { ['pattern'] = any_case('formatting conventions?'), ['alone'] = false }, { ['pattern'] = any_case('formatt?i?n?g?'), -- formatting, format ['alone'] = true }, { ['pattern'] = any_case('conventions?'), ['alone'] = true }, { ['pattern'] = any_case('layouts?'), ['alone'] = true }, { ['pattern'] = any_case('quotes'), ['alone'] = true }, { ['pattern'] = any_case('quotation marks'), ['alone'] = false }, { ['pattern'] = any_case('typography'), ['alone'] = false }, { ['pattern'] = any_case('spelling'), ['alone'] = false }, { ['pattern'] = any_case('style guide'), ['alone'] = false }, { ['pattern'] = any_case('guidelines?'), ['alone'] = false }, { ['pattern'] = any_case('missing pages?'), ['alone'] = true }, { ['pattern'] = any_case('long[ %-]s'), -- of course ['alone'] = true }, }, ['timestamp'] = { ['pattern'] = '%(UTC%)', ['text'] = '(UTC)' } } } tl27c7dnpnsq1ju5yccb8dqwwywiug4