Draft:Template:Article: Difference between revisions

From AbhiprayaVedi
No edit summary
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
<includeonly>
<includeonly>{{DISPLAYTITLE:{{{DisplayTitle|{{{Title|}}}}}}}}<!--
{{DISPLAYTITLE:{{{DisplayTitle|{{{Title|}}}}}}}}
--><div class="article-container" data-language="{{{Language|}}}">


<div class="article-container">
<!-- Article Header - Clean, No Duplication -->
 
<!-- Article Header -->
<div class="article-header">
<div class="article-header">
<h1 style="margin: 0 0 15px 0; font-size: 2.5em; text-shadow: 2px 2px 4px rgba(0,0,0,0.2);">
<div class="author-info"><span class="author-name">{{{Author|}}}</span><span class="date-info">{{#time:d-m-Y|{{{Date|}}}}}</span><span class="category-badge">{{{Category|}}}</span></div>
{{{DisplayTitle|{{{Title|}}}}}}
{{#if:{{{Language|}}}|<span class="language-badge">{{#ifeq:{{{Language}}}|Malayalam|മലയാളം|English}}</span>|}}
</h1>
<div style="font-size: 1.1em; opacity: 0.95;">
{{#if:{{{OriginalAuthor|}}}|
<strong>യഥാർത്ഥ രചയിതാവ്:</strong> {{{OriginalAuthor|}}} | <strong>പരിഭാഷ:</strong> {{{Author|}}}
|
<strong>രചയിതാവ്:</strong> {{{Author|}}}
}}
| <strong>തീയതി:</strong> {{{Date|}}} | <strong>വിഭാഗം:</strong> {{{Category|}}}
</div>
</div>
<!-- Introduction - Compact -->
<div class="introduction-section">
{{{Introduction|}}}
</div>
</div>


<!-- Main Content Area with Sidebars -->
<!-- Two Column Layout -->
<div class="article-layout" style="display: flex; gap: 25px; margin: 20px 0;">
<div class="content-wrapper">


<!-- Left Sidebar - Key Points -->
<!-- Main Content -->
{{#if:{{{KeyPoint1|}}}|
<div class="main-content">
<div class="left-sidebar" style="flex: 0 0 220px;">
 
<div class="sidebar-title" style="color: #92400e;">📌 പ്രധാന പോയിന്റുകൾ</div>
<!-- Image 1 - Left Aligned -->
<ul class="keypoint-list">
{{#if:{{{Image1|}}}|
{{#if:{{{KeyPoint1|}}}|<li>{{{KeyPoint1|}}}</li>}}
<div class="image-left">
{{#if:{{{KeyPoint2|}}}|<li>{{{KeyPoint2|}}}</li>}}
[[File:{{{Image1}}}|thumb|400px|{{{Image1Caption|}}}]]
{{#if:{{{KeyPoint3|}}}|<li>{{{KeyPoint3|}}}</li>}}
{{#if:{{{KeyPoint4|}}}|<li>{{{KeyPoint4|}}}</li>}}
</ul>
</div>
</div>
|}}
|}}


<!-- Main Content Column -->
<!-- Article Text -->
<div class="main-content-column" style="flex: 1; min-width: 0;">
<div class="article-text">
{{{Content|}}}
</div>


<!-- Thumbnail -->
<!-- Additional Images -->
{{#if:{{{Thumbnail|}}}|
{{#if:{{{Image2|}}}|
<div style="float: right; margin: 0 0 20px 20px;">
<div class="content-image">
[[File:{{{Thumbnail}}}|thumb|350px|{{{ThumbnailCaption|}}}]]
[[File:{{{Image2}}}|thumb|center|650px|{{{Image2Caption|}}}]]
</div>
</div>
|}}
|}}


<!-- Introduction Section -->
<!-- Source Attribution -->
<div class="introduction-box">
{{#if:{{{SourceName|}}}|
{{{Introduction|}}}
<div class="source-attribution">
<strong>സ്രോതസ്സ്:</strong> {{{SourceName|}}}
{{#if:{{{OriginalAuthor|}}}| • <strong>യഥാർത്ഥ രചയിതാവ്:</strong> {{{OriginalAuthor|}}}}}
{{#if:{{{SourceURL|}}}| • [{{{SourceURL|}}} യഥാർത്ഥ ലേഖനം]}}
</div>
</div>
|}}


<!-- Main Article Content -->
</div>
<div class="article-content">
{{#if:{{{Image1|}}}|
{{{Content|}}}


<div style="margin: 35px 0; clear: both;">
<!-- Right Sidebar -->
[[File:{{{Image1}}}|thumb|center|700px|{{{Image1Caption|}}}]]
<div class="right-sidebar">
</div>
|
{{{Content|}}}
}}
</div>


<!-- Additional Images -->
<!-- Author Infobox -->
{{#if:{{{Image2|}}}|
<div class="author-infobox">
<div style="margin: 35px 0;">
{{#if:{{{Thumbnail|}}}|
<div style="margin: 25px 0;">
<div class="author-photo">
[[File:{{{Image2}}}|thumb|center|650px|{{{Image2Caption|}}}]]
[[File:{{{Thumbnail}}}|frameless|280px]]
</div>
</div>
{{#if:{{{Image3|}}}|
|}}
<div style="margin: 25px 0;">
<div class="author-name-box">[[{{{Author|}}}|{{{Author|}}}]]</div>
[[File:{{{Image3}}}|thumb|center|650px|{{{Image3Caption|}}}]]
{{#if:{{{Author_Bio|}}}|
</div>
<div class="author-bio">
}}
{{{Author_Bio|}}}
</div>
</div>
|}}
|}}
</div>
</div>


<!-- Right Sidebar - Highlights -->
<!-- Highlights -->
{{#if:{{{Highlight1|}}}|
<div class="right-sidebar" style="flex: 0 0 240px;">
<div class="sidebar-title" style="color: #065f46;">💡 പ്രത്യേക ശ്രദ്ധയ്ക്ക്</div>
{{#if:{{{Highlight1|}}}|
{{#if:{{{Highlight1|}}}|
<div class="highlight-box">
<div class="highlight-box">
{{{Highlight1|}}}
<div class="highlight-title">💡</div>
<div class="highlight-text">{{{Highlight1|}}}</div>
</div>
</div>
}}
|}}
 
{{#if:{{{Highlight2|}}}|
{{#if:{{{Highlight2|}}}|
<div class="highlight-box">
<div class="highlight-box">
{{{Highlight2|}}}
<div class="highlight-title">💡</div>
<div class="highlight-text">{{{Highlight2|}}}</div>
</div>
</div>
}}
|}}
{{#if:{{{Highlight3|}}}|
 
<div class="highlight-box">
<!-- Key Points as Floating Box -->
{{{Highlight3|}}}
{{#if:{{{KeyPoint1|}}}|
</div>
<div class="keypoints-float">
}}
<div class="keypoints-header">📌</div>
<ul class="keypoints-list">
{{#if:{{{KeyPoint1|}}}|<li>{{{KeyPoint1|}}}</li>}}
{{#if:{{{KeyPoint2|}}}|<li>{{{KeyPoint2|}}}</li>}}
{{#if:{{{KeyPoint3|}}}|<li>{{{KeyPoint3|}}}</li>}}
{{#if:{{{KeyPoint4|}}}|<li>{{{KeyPoint4|}}}</li>}}
</ul>
</div>
</div>
|}}
|}}
Line 104: Line 96:
</div>
</div>


<!-- Source Attribution -->
{{#if:{{{SourceName|}}}|
<div class="source-box">
<div style="font-weight: bold; color: #92400e; margin-bottom: 8px; font-size: 1.1em;">📰 സ്രോതസ്സ് (Source)</div>
<div style="color: #78350f; line-height: 1.7;">
<strong>പ്രസിദ്ധീകരണം:</strong> {{{SourceName|}}}
{{#if:{{{OriginalDate|}}}|<br/><strong>യഥാർത്ഥ തീയതി:</strong> {{{OriginalDate|}}}}}
{{#if:{{{SourceURL|}}}|<br/><strong>ലിങ്ക്:</strong> [{{{SourceURL|}}} യഥാർത്ഥ ലേഖനം കാണുക]}}
{{#if:{{{TranslationType|}}}|<br/><strong>തരം:</strong> {{{TranslationType|}}}}}
{{#if:{{{PermissionNote|}}}|<br/><em>{{{PermissionNote|}}}</em>}}
</div>
</div>
</div>
</div>
|}}


<!-- Author/Translator Bio -->
<!-- ================================================================
{{#if:{{{Author_Bio|}}}|
    CATEGORIES
<div class="author-bio-box">
   
<div style="font-size: 1.3em; color: #4338ca; font-weight: bold; margin-bottom: 15px;">
    NOTE on Malayalam DEFAULTSORT bug:
{{#if:{{{OriginalAuthor|}}}|
    MediaWiki's DEFAULTSORT cannot sort Malayalam Unicode text correctly —
✍️ പരിഭാഷകനെക്കുറിച്ച് (About the Translator)
    it only reads the first character, so categories show truncated names.
|
   
✍️ രചയിതാവിനെക്കുറിച്ച് (About the Author)
    FIX: We use the "sort key" parameter directly on each [[Category:]] link.
    The sort key is the DisplayTitle passed explicitly, which makes the full
    title appear correctly in the category listing.
    ================================================================ -->
 
[[Category:{{{Category|}}}|{{{DisplayTitle|{{{Title|}}}}}}]]
[[Category:Articles|{{{DisplayTitle|{{{Title|}}}}}}]]
{{#if:{{{Language|}}}|[[Category:{{{Language}}} articles|{{{DisplayTitle|{{{Title|}}}}}}]]|}}
 
<!-- English-to-Malayalam parallel categories -->
{{#switch:{{{Category|}}}
|Politics=[[Category:രാഷ്ട്രീയം|{{{DisplayTitle|{{{Title|}}}}}}]]
|Society=[[Category:സമൂഹം|{{{DisplayTitle|{{{Title|}}}}}}]]
|Culture=[[Category:സംസ്കാരം|{{{DisplayTitle|{{{Title|}}}}}}]]
|Science=[[Category:ശാസ്ത്രം|{{{DisplayTitle|{{{Title|}}}}}}]]
|Literature=[[Category:സാഹിത്യം|{{{DisplayTitle|{{{Title|}}}}}}]]
|Cinema=[[Category:സിനിമ|{{{DisplayTitle|{{{Title|}}}}}}]]
|Environment=[[Category:പരിസ്ഥിതി|{{{DisplayTitle|{{{Title|}}}}}}]]
|Economics=[[Category:സമ്പദ്‌വ്യവസ്ഥ|{{{DisplayTitle|{{{Title|}}}}}}]]
|Opinion=[[Category:അഭിപ്രായം|{{{DisplayTitle|{{{Title|}}}}}}]]
}}
}}
</div>
<div style="line-height: 1.8; color: #312e81;">
{{{Author_Bio|}}}
</div>
</div>
|}}
</div>


<!-- Categories -->
[[Category:{{{Category|}}}]]
[[Category:Articles]]
{{#if:{{{Language|}}}|[[Category:{{{Language}}} articles]]|}}
{{#if:{{{OriginalAuthor|}}}|
{{#if:{{{OriginalAuthor|}}}|
[[Category:Articles by {{{OriginalAuthor|}}}]]
[[Category:Articles by {{{OriginalAuthor|}}}|{{{DisplayTitle|{{{Title|}}}}}}]]
[[Category:Translations]]
[[Category:Translations|{{{DisplayTitle|{{{Title|}}}}}}]]
[[Category:Translated by {{{Author|}}}]]
[[Category:Translated by {{{Author|}}}|{{{DisplayTitle|{{{Title|}}}}}}]]
|
|
[[Category:Articles by {{{Author|}}}]]
[[Category:Articles by {{{Author|}}}|{{{DisplayTitle|{{{Title|}}}}}}]]
}}
}}
</includeonly>
</includeonly>


<noinclude>
<noinclude>
{{TemplateData|<nowiki>
== Ver3: Fix for Category Display Names ==
{
 
  "description": "Template for displaying article content with modern styling, sidebars, and metadata. Supports both Malayalam and English with appropriate fonts.",
=== The Malayalam DEFAULTSORT Problem ===
  "format": "block",
 
  "params": {
`{{DEFAULTSORT:}}` does NOT work correctly with Malayalam (or any Unicode script that is non-Latin). MediaWiki's sort key mechanism only reads the first Unicode code point, which is why categories were showing only the first letter/character of the title.
    "DisplayTitle": {
 
      "label": "Display Title",
=== The Fix ===
      "description": "The title as displayed on the article page (in Malayalam or English)",
 
      "type": "string",
Instead of using `DEFAULTSORT`, we now pass the sort key '''directly on each category link''' using the pipe syntax:
      "required": true,
 
      "example": "കേരളത്തിലെ കാലാവസ്ഥാ വ്യതിയാനം"
<pre>
    },
[[Category:Articles|{{{DisplayTitle|{{{Title|}}}}}}]]
    "Language": {
</pre>
      "label": "Language",
 
      "description": "Primary language of the article. Affects font rendering.",
This tells MediaWiki: "place this page in the category, and display it under the sort key equal to the DisplayTitle." Since MediaWiki renders the sort key as the display label in category listings, the full Malayalam title now appears correctly.
      "type": "string",
 
      "required": true,
=== How it works ===
      "default": "Malayalam",
 
      "suggestedvalues": [
{| class="wikitable"
        "Malayalam",
! Parameter !! Example value
        "English"
|-
      ]
| Page name || <code>Something-In-The-Air</code>
    },
|-
    "Author": {
| DisplayTitle || <code>Something in the Air?</code>
      "label": "Author",
|-
      "description": "Name of the article author or translator",
| Category shows || '''Something in the Air?''' ✓
      "type": "string",
|}
      "required": true,
      "example": "രാജേഷ് കുമാർ"
    },
    "Date": {
      "label": "Publication Date",
      "description": "Date of article publication",
      "type": "date",
      "required": true
    },
    "Category": {
      "label": "Category",
      "description": "Main category for the article",
      "type": "string",
      "required": true,
      "suggestedvalues": [
        "Politics",
        "Society",
        "Culture",
        "Science",
        "Literature",
        "Cinema",
        "Environment",
        "Economics",
        "Opinion"
      ]
    },
    "Introduction": {
      "label": "Introduction",
      "description": "Brief 2-3 sentence introduction to the article",
      "type": "content",
      "required": true
    },
    "Content": {
      "label": "Main Content",
      "description": "Full text of the article",
      "type": "content",
      "required": true
    },
    "Thumbnail": {
      "label": "Main Thumbnail",
      "description": "Main image that appears at top-right of article",
      "type": "wiki-file-name",
      "required": false
    },
    "ThumbnailCaption": {
      "label": "Thumbnail Caption",
      "description": "Caption text for the main thumbnail image",
      "type": "string",
      "required": false
    },
    "Image1": {
      "label": "Image 1",
      "description": "First inline image (appears in middle of article)",
      "type": "wiki-file-name",
      "required": false
    },
    "Image1Caption": {
      "label": "Image 1 Caption",
      "description": "Caption for first inline image",
      "type": "string",
      "required": false
    },
    "Image2": {
      "label": "Image 2",
      "description": "Second inline image",
      "type": "wiki-file-name",
      "required": false
    },
    "Image2Caption": {
      "label": "Image 2 Caption",
      "description": "Caption for second inline image",
      "type": "string",
      "required": false
    },
    "Image3": {
      "label": "Image 3",
      "description": "Third inline image",
      "type": "wiki-file-name",
      "required": false
    },
    "Image3Caption": {
      "label": "Image 3 Caption",
      "description": "Caption for third inline image",
      "type": "string",
      "required": false
    },
    "KeyPoint1": {
      "label": "Key Point 1",
      "description": "First key point (appears in left sidebar)",
      "type": "string",
      "required": false
    },
    "KeyPoint2": {
      "label": "Key Point 2",
      "description": "Second key point (appears in left sidebar)",
      "type": "string",
      "required": false
    },
    "KeyPoint3": {
      "label": "Key Point 3",
      "description": "Third key point (appears in left sidebar)",
      "type": "string",
      "required": false
    },
    "KeyPoint4": {
      "label": "Key Point 4",
      "description": "Fourth key point (appears in left sidebar)",
      "type": "string",
      "required": false
    },
    "Highlight1": {
      "label": "Highlight 1",
      "description": "First highlight box (appears in right sidebar)",
      "type": "content",
      "required": false
    },
    "Highlight2": {
      "label": "Highlight 2",
      "description": "Second highlight box (appears in right sidebar)",
      "type": "content",
      "required": false
    },
    "Highlight3": {
      "label": "Highlight 3",
      "description": "Third highlight box (appears in right sidebar)",
      "type": "content",
      "required": false
    },
    "OriginalAuthor": {
      "label": "Original Author",
      "description": "Name of original author (for translations only)",
      "type": "string",
      "required": false
    },
    "SourceName": {
      "label": "Source Publication",
      "description": "Name of source publication (for translations)",
      "type": "string",
      "required": false,
      "example": "The Hindu"
    },
    "SourceURL": {
      "label": "Source URL",
      "description": "Link to original article (for translations)",
      "type": "url",
      "required": false
    },
    "OriginalDate": {
      "label": "Original Publication Date",
      "description": "Date of original publication (for translations)",
      "type": "date",
      "required": false
    },
    "TranslationType": {
      "label": "Translation Type",
      "description": "Type of translation or adaptation",
      "type": "string",
      "required": false,
      "suggestedvalues": [
        "Translation",
        "Adaptation",
        "Reprint",
        "Summary"
      ]
    },
    "PermissionNote": {
      "label": "Permission Note",
      "description": "Statement about publication permissions",
      "type": "string",
      "required": false,
      "example": "Published with permission from the publisher"
    },
    "Author_Bio": {
      "label": "Author Biography",
      "description": "Brief biography of the author or translator",
      "type": "content",
      "required": false
    }
  }
}
</nowiki>}}


== Usage ==
For Malayalam:
This template is used automatically by Form:Article for both Malayalam and English articles with appropriate font rendering.
{| class="wikitable"
! Parameter !! Example value
|-
| Page name || <code>Kerala-Climate-Change</code>
|-
| DisplayTitle || <code>കേരളത്തിലെ കാലാവസ്ഥാ വ്യതിയാനം</code>
|-
| Category shows || '''കേരളത്തിലെ കാലാവസ്ഥാ വ്യതിയാനം''' ✓
|}


[[Category:Templates]]
[[Category:Templates]]
[[Category:Article Templates]]
</noinclude>
</noinclude>

Latest revision as of 18:56, 10 April 2026


Ver3: Fix for Category Display Names

The Malayalam DEFAULTSORT Problem

`` does NOT work correctly with Malayalam (or any Unicode script that is non-Latin). MediaWiki's sort key mechanism only reads the first Unicode code point, which is why categories were showing only the first letter/character of the title.

The Fix

Instead of using `DEFAULTSORT`, we now pass the sort key directly on each category link using the pipe syntax:

[[Category:Articles|{{{DisplayTitle|{{{Title|}}}}}}]]

This tells MediaWiki: "place this page in the category, and display it under the sort key equal to the DisplayTitle." Since MediaWiki renders the sort key as the display label in category listings, the full Malayalam title now appears correctly.

How it works

Parameter Example value
Page name Something-In-The-Air
DisplayTitle Something in the Air?
Category shows Something in the Air?

For Malayalam:

Parameter Example value
Page name Kerala-Climate-Change
DisplayTitle കേരളത്തിലെ കാലാവസ്ഥാ വ്യതിയാനം
Category shows കേരളത്തിലെ കാലാവസ്ഥാ വ്യതിയാനം