Template:Infobox Character: Difference between revisions

From aquila
Jump to navigation Jump to search
No edit summary
Tag: Reverted
No edit summary
 
(42 intermediate revisions by the same user not shown)
Line 2: Line 2:
|-
|-
<!-- MAIN TITLE HEADER -->
<!-- MAIN TITLE HEADER -->
! colspan="2" style="background-color: {{{Colour|#6E473B}}}; color: {{{TextColour|#ffffff}}}; text-align: center; font-size: 125%; font-weight: bold; padding: 0.6em; border-bottom: 3px solid {{{BorderColour|#4D3129}}};" | {{{Name|{{PAGENAME}}}}}
! colspan="2" style="background-color: {{{Colour|#b0b0b1}}}; color: {{{TextColour|#ffffff}}}; text-align: center; font-size: 125%; font-weight: bold; padding: 0.6em; border-bottom: 3px solid {{{BorderColour|#bebebe}}};" | {{{Name|{{PAGENAME}}}}}
|-
|-
<!-- IMAGE ROW -->
<!-- IMAGE ROW -->
| colspan="2" style="text-align: center; padding: 0.5em; background-color: #ffffff; border-bottom: 1px solid #a2a9b1;" | [[File:{{{Image|Image.png}}}|280px|center]]
| colspan="2" style="text-align: center; padding: 0.5em; background-color: #ffffff; border-bottom: 1px solid #a2a9b1;" | [[File:{{{Image|Image.png}}}|280px|center]]
|-
|-
<!-- DATA ROWS BREAKDOWN -->
<!-- DATA ROWS BREAKDOWN -->
<!-- OPTIONAL: Titles -->
{{#if: {{{Titles|}}} |
{{#if: {{{Titles|}}} |
|-
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Titles
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Titles
{{!}} {{{Titles}}}
| {{{Titles}}}
{{!}}-}}
}}
{{#if: {{{Race|}}} |
 
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Race
<!-- MANDATORY: Race -->
{{!}} [[{{{Race}}}]]
|-
{{!}}-}}
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Race
| {{{Race|TBA}}}
 
<!-- OPTIONAL: Ethnicity -->
{{#if: {{{Ethnicity|}}} |
{{#if: {{{Ethnicity|}}} |
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Ethnicity
{{!}} {{{Ethnicity}}}
{{!}}-}}
{{#if: {{{Gender|}}} |
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Gender
{{!}} {{{Gender}}}
{{!}}-}}
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" | Age{{#if: {{{DeathYear|}}} | <span style="font-size: 75%; font-weight: normal; color: #718096; display: block;">(At Death)</span> }}
| {{#if: {{{BirthYear|}}} | {{#expr: ({{#if: {{{DeathYear|}}} | {{{DeathYear}}} | {{CurrentLoreYear}} }} - {{{BirthYear}}}) - ({{#if: {{{DeathYear|}}} | {{#switch: {{{DeathMonth|}}} | January = 1 | January--February = 2 | February--March = 3 | March--April = 4 | April--May = 5 | May--June = 6 | June--July = 7 | July--August = 8 | August--September = 9 | September--October = 10 | October = 11 | October--November = 12 | November--December = 13 | Late December = 14 | 1 }} | {{CurrentLoreMonthNumber}} }} < {{#switch: {{{BirthMonth|}}} | January = 1 | January--February = 2 | February--March = 3 | March--April = 4 | April--May = 5 | May--June = 6 | June--July = 7 | July--August = 8 | August--September = 9 | September--October = 10 | October = 11 | October--November = 12 | November--December = 13 | Late December = 14 | 1 }})}} | {{{age|TBA}}} }}
|-
|-
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Ethnicity
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" | Date of Birth
| {{{Ethnicity}}}
| {{#if: {{{BirthYear|}}} | {{#ifexpr: {{{BirthYear}}} < 1 | Era Vetus | Era Nova }}{{#if: {{{BirthMonth|}}} |, {{{BirthMonth}}} | }}, Year {{#ifexpr: {{{BirthYear}}} < 1 | {{#expr: abs({{{BirthYear}}}) }} | {{{BirthYear}}} }} | TBA }}
}}
 
<!-- MANDATORY: Gender -->
|-
|-
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Gender
{{#if: {{{DeathYear|}}} |
| {{{Gender|TBA}}}
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Date of Death
 
{{!}} {{#ifexpr: {{{DeathYear}}} < 1 | Era Vetus | Era Nova }}{{#if: {{{DeathMonth|}}} |, {{{DeathMonth}}} | }}, Year {{#ifexpr: {{{DeathYear}}} < 1 | {{#expr: abs({{{DeathYear}}}) }} | {{{DeathYear}}} }}
<!-- MANDATORY: Age & Date of Birth (Triggered by BirthYear) -->
{{!}}-}}
|-
{{#if: {{{Nationality|}}} |
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Age
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Nationality
| {{#if: {{{BirthYear|}}}
{{!}} {{{Nationality}}}
  | {{#expr: ({{CurrentLoreYear}} - {{{BirthYear}}}) - ({{CurrentLoreMonthNumber}} < {{#switch: {{{BirthMonth|}}}
{{!}}-}}
      | January = 1
{{#if: {{{Nation|}}} |
      | January--February = 2
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Nation
      | February--March = 3
{{!}} [[{{{Nation}}}]]
      | March--April = 4
{{!}}-}}
      | April--May = 5
      | May--June = 6
      | June--July = 7
      | July--August = 8
      | August--September = 9
      | September--October = 10
      | October = 11
      | October--November = 12
      | November--December = 13
      | Late December = 14
      | 1
    }}) }}
  | TBA
  }}
|-
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Date of Birth
| {{#if: {{{BirthYear|}}} | {{#ifexpr: {{{BirthYear}}} < 1 | Era Vetus | Era Nova }}, {{#if: {{{BirthMonth|}}} | {{{BirthMonth}}}, | }} Year {{#ifexpr: {{{BirthYear}}} < 1 | {{#expr: abs({{{BirthYear}}}) }} | {{{BirthYear}}} }} | TBA }}
 
<!-- MANDATORY: Nationality -->
|-
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Nationality
| {{{Nationality|TBA}}}
 
<!-- MANDATORY: Nation -->
|-
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Nation
| {{{Nation|TBA}}}
 
<!-- OPTIONAL: Occupation -->
{{#if: {{{Occupation|}}} |
{{#if: {{{Occupation|}}} |
|-
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Occupation
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Occupation
{{!}} {{{Occupation}}}
| {{{Occupation}}}
{{!}}-}}
}}
 
<!-- OPTIONAL: Religion -->
{{#if: {{{Religion|}}} |
{{#if: {{{Religion|}}} |
|-
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Religion
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Religion
{{!}} {{{Religion}}}
| {{{Religion}}}
{{!}}-}}
}}
 
<!-- OPTIONAL: Languages -->
{{#if: {{{Languages|}}} |
{{#if: {{{Languages|}}} |
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Languages
{{!}} {{{Languages}}}
{{!}}-}}
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" | Character Type
| {{{CharacterType|Primary Character}}}
|-
|-
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Languages
{{#if: {{{Player|}}} |
| {{{Languages}}}
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; width: 40%; border-bottom: 1px solid #e2e8f0;" {{!}} Player
}}
{{!}} <span style="font-family: monospace;">[[{{{Player}}}]]</span>
 
{{!}}-}}
<!-- MANDATORY: Player -->
|-
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #e2e8f0;" | Player
| style="font-family: monospace;" | {{{Player|TBA}}}
 
<!-- BOTTOM STATUS ROW -->
<!-- BOTTOM STATUS ROW -->
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#F5EFEA}}}; border-bottom: 1px solid #1a1a1a;" | Status
! style="text-align: left; padding: 0.4em 0.6em; background-color: {{{LabelColour|#b0b0b1}}}; border-bottom: 1px solid #1a1a1a;" | Status
 
| style="padding: 0.4em 0.6em; border-bottom: 1px solid #1a1a1a;" | <span style="font-weight: bold; color: {{#switch: {{lc:{{{Status|{{{status|alive}}}}}}}}|alive=#2f855a|deceased|dead=#c53030|missing|unknown=#dd6b20|imprisoned|captured=#d69e2e|retired=#3182ce|undead=#805ad5|archived=#718096|#2f855a}};">{{{Status|{{{status|Alive}}}}}}</span>
| style="padding: 0.4em 0.6em; font-weight: bold; color: #2f855a; border-bottom: 1px solid #1a1a1a;" | {{{Status|Alive}}}
|}<!--
|} </includeonly><noinclude>
--><span style="display:none;">{{#switch: {{#ifeq:{{PAGENAME}}|Character Example|EXCLUDE|{{#ifeq:{{PAGENAME}}|Character Template|EXCLUDE|OK}}}}
  | EXCLUDE =
  | #default = {{#switch: {{lc:{{{CharacterType|Primary Character}}}}}
      | side character = [[Category:Side Characters]]
      | archived character = [[Category:Archived Characters]]
      | #default = [[Category:Characters]]
    }}
}}</span>{{#if: {{{Race|}}} |{{#switch: {{#ifeq:{{PAGENAME}}|Character Example|EXCLUDE|{{#ifeq:{{PAGENAME}}|Character Template|EXCLUDE|OK}}}}
  | EXCLUDE =
  | #default = [[Category:{{{Race}}} Characters]]
}}}}{{#ifeq:{{PAGENAME}}|Character Template|[[Category:Character Templates]]}}</includeonly><noinclude>


== Infobox Character ==
== Infobox Character ==
This template displays automated information about a character page. It dynamically calculates a character's current age based on the server timeline tracking clock.
This template displays automated information about a character page. It dynamically calculates a character's current age based on the server timeline tracking clock, and locks it automatically with an "(At Death)" indicator if a death date is provided.


== Usage ==
== Usage ==
Line 112: Line 84:
<pre>
<pre>
{{Infobox Character
{{Infobox Character
| Colour       = #6E473B
| Colour       = #6E473B
| TextColour   = #ffffff
| TextColour   = #ffffff
| BorderColour = #4D3129
| BorderColour = #4D3129
| LabelColour = #F5EFEA
| LabelColour   = #F5EFEA
| Name       =  
| Name         =  
| Image       = Image.png
| Image         = Image.png
| Titles     =  
| Titles       =  
| Race       =  
| Race         =  
| Ethnicity   =  
| Ethnicity     =  
| Gender     =  
| Gender       =  
| BirthMonth =  
| BirthMonth   =  
| BirthYear   =  
| BirthYear     =
| Nationality =  
| DeathMonth    =
| Nation     =  
| DeathYear    =  
| Occupation =  
| Nationality   =  
| Religion   =  
| Nation       =  
| Languages   =  
| Occupation   =  
| Player     =  
| Religion     =  
| Status     = Alive
| Languages     =
| CharacterType = Primary Character
| Player       =  
| Status       = Alive
}}
}}
</pre>
</pre>
Line 140: Line 115:
"params": {
"params": {
"Colour": { "label": "Banner Background Colour", "description": "Hex code for the top header background (e.g. #6E473B).", "type": "string", "suggested": true },
"Colour": { "label": "Banner Background Colour", "description": "Hex code for the top header background (e.g. #6E473B).", "type": "string", "suggested": true },
"TextColour": { "label": "Banner Text Colour", "description": "Colour code for the title text (e.g. #ffffff or white).", "type": "string", "suggested": true },
"TextColour": { "label": "Banner Text Colour", "description": "Colour code for the title text (e.g. #ffffff).", "type": "string", "suggested": true },
"BorderColour": { "label": "Banner Underline Colour", "description": "Hex code for the thick accent bar directly below the main header.", "type": "string" },
"BorderColour": { "label": "Banner Underline Colour", "description": "Hex code for the thick accent bar below the header.", "type": "string", "suggested": true },
"LabelColour": { "label": "Label Background Colour", "description": "Hex code for the background tint on the left labels (e.g. #F5EFEA).", "type": "string", "suggested": true },
"LabelColour": { "label": "Label Background Colour", "description": "Hex code for the background tint on left-hand labels.", "type": "string", "suggested": true },
"Name": { "label": "Character Name", "type": "string", "suggested": true },
"Name": { "label": "Character Name", "description": "Display name at the top. Defaults to the page title.", "type": "string", "suggested": true },
"Image": { "label": "Image File Name", "type": "wiki-file-name", "default": "Image.png" },
"Image": { "label": "Image File Name", "description": "Filename of the character portrait (e.g. Character.png).", "type": "wiki-file-name", "default": "Image.png", "suggested": true },
"Titles": { "label": "Titles / Ranks", "type": "string" },
"Titles": { "label": "Titles / Ranks", "description": "Character's honorifics or titles. Hides if blank.", "type": "string", "suggested": true },
"Race": { "label": "Race", "type": "string", "suggested": true },
"Race": { "label": "Race", "description": "Biological race of the character. Automatically linked and adds page to corresponding category. Hides if blank.", "type": "wiki-page-name", "suggested": true },
"Ethnicity": { "label": "Ethnicity / Heritage", "type": "string" },
"Ethnicity": { "label": "Ethnicity / Heritage", "description": "Cultural or ethnic background. Hides if blank.", "type": "string", "suggested": true },
"Gender": { "label": "Gender", "type": "string" },
"Gender": { "label": "Gender", "description": "Character's gender identity. Hides if blank.", "type": "string", "suggested": true },
"BirthMonth": {  
"BirthMonth": {  
"label": "Birth Month",  
"label": "Birth Month",  
"description": "Select the in-universe calendar month matching your character's birthday.",  
"description": "The birth month used for age calculation. Select from suggested list.",  
"type": "string",  
"type": "string",  
"suggested": true,
"suggested": true,
"suggestedvalues": [
"suggestedvalues": [
"January",
"January", "January--February", "February--March", "March--April", "April--May", "May--June", "June--July", "July--August", "August--September", "September--October", "October", "October--November", "November--December", "Late December"
"January--February",
]
"February--March",
},
"March--April",
"BirthYear": { "label": "Birth Year", "description": "The year of birth (negative for Era Vetus, positive for Era Nova).", "type": "number", "suggested": true },
"April--May",
"DeathMonth": {
"May--June",
"label": "Death Month",
"June--July",
"description": "The month of death for locking the age calculation. Optional.",
"July--August",
"type": "string",
"August--September",
"suggested": false,
"September--October",
"suggestedvalues": [
"October",
"January", "January--February", "February--March", "March--April", "April--May", "May--June", "June--July", "July--August", "August--September", "September--October", "October", "October--November", "November--December", "Late December"
"October--November",
]
"November--December",
},
"Late December"
"DeathYear": { "label": "Death Year", "description": "The year of death (negative for Era Vetus, positive for Era Nova). Locks character age calculation at this year. Optional.", "type": "number", "suggested": false },
"Nationality": { "label": "Nationality", "description": "Current country or region of allegiance. Hides if blank.", "type": "string", "suggested": true },
"Nation": { "label": "Nation Link", "description": "Internal link to the nation page. Automatically linked. Hides if blank.", "type": "wiki-page-name", "suggested": true },
"Occupation": { "label": "Occupation", "description": "The character's job or primary role. Hides if blank.", "type": "string", "suggested": true },
"Religion": { "label": "Religion", "description": "Character's religious affiliation. Hides if blank.", "type": "string", "suggested": true },
"Languages": { "label": "Languages Spoken", "description": "Languages the character is fluent in. Hides if blank.", "type": "string", "suggested": true },
"CharacterType": {
"label": "Character Type",
"description": "Indicates the narrative classification of the character relative to active players and server mechanics.",
"type": "string",
"required": true,
"default": "Primary Character",
"suggestedvalues": [
"Primary Character",
"Secondary Character",
"Side Character",
"Archived Character"
]
]
},
},
"BirthYear": { "label": "Birth Year", "description": "Negative integers for Era Vetus (e.g. -19), positive for Era Nova (e.g. 2)", "type": "number", "suggested": true },
"Player": { "label": "Minecraft Username", "description": "The player behind the character. Hides if blank.", "type": "wiki-page-name", "suggested": true },
"Nationality": { "label": "Nationality", "type": "string" },
"Status": {
"Nation": { "label": "Nation Link", "type": "string" },
"label": "Status",
"Occupation": { "label": "Occupation", "type": "string" },
"description": "Current status. Auto-colors (Alive, Deceased, Missing, etc). Defaults to Alive.",
"Religion": { "label": "Religion", "type": "string" },
"type": "string",
"Languages": { "label": "Languages Spoken", "type": "string" },
"default": "Alive",
"Player": { "label": "Minecraft Username", "type": "string", "suggested": true },
"suggested": true,
"Status": { "label": "Status", "type": "string", "default": "Alive", "suggested": true }
"suggestedvalues": [
"Alive", "Deceased", "Dead", "Missing", "Unknown", "Imprisoned", "Captured", "Retired", "Undead", "Archived"
]
}
}
}
}
}
</templatedata>
</templatedata>
</noinclude>
</noinclude>

Latest revision as of 21:17, 5 September 2026


Infobox Character

This template displays automated information about a character page. It dynamically calculates a character's current age based on the server timeline tracking clock, and locks it automatically with an "(At Death)" indicator if a death date is provided.

Usage

Copy and paste this clean code snippet straight onto character profiles:

{{Infobox Character
| Colour        = #6E473B
| TextColour    = #ffffff
| BorderColour  = #4D3129
| LabelColour   = #F5EFEA
| Name          = 
| Image         = Image.png
| Titles        = 
| Race          = 
| Ethnicity     = 
| Gender        = 
| BirthMonth    = 
| BirthYear     = 
| DeathMonth    = 
| DeathYear     = 
| Nationality   = 
| Nation        = 
| Occupation    = 
| Religion      = 
| Languages     = 
| CharacterType = Primary Character
| Player        = 
| Status        = Alive
}}

TemplateData

Project Aquila's official automated Character Infobox.

Template parameters[Edit template data]

ParameterDescriptionTypeStatus
Banner Background ColourColour

Hex code for the top header background (e.g. #6E473B).

Stringsuggested
Banner Text ColourTextColour

Colour code for the title text (e.g. #ffffff).

Stringsuggested
Banner Underline ColourBorderColour

Hex code for the thick accent bar below the header.

Stringsuggested
Label Background ColourLabelColour

Hex code for the background tint on left-hand labels.

Stringsuggested
Character NameName

Display name at the top. Defaults to the page title.

Stringsuggested
Image File NameImage

Filename of the character portrait (e.g. Character.png).

Default
Image.png
Filesuggested
Titles / RanksTitles

Character's honorifics or titles. Hides if blank.

Stringsuggested
RaceRace

Biological race of the character. Automatically linked and adds page to corresponding category. Hides if blank.

Page namesuggested
Ethnicity / HeritageEthnicity

Cultural or ethnic background. Hides if blank.

Stringsuggested
GenderGender

Character's gender identity. Hides if blank.

Stringsuggested
Birth MonthBirthMonth

The birth month used for age calculation. Select from suggested list.

Suggested values
January January--February February--March March--April April--May May--June June--July July--August August--September September--October October October--November November--December Late December
Stringsuggested
Birth YearBirthYear

The year of birth (negative for Era Vetus, positive for Era Nova).

Numbersuggested
Death MonthDeathMonth

The month of death for locking the age calculation. Optional.

Suggested values
January January--February February--March March--April April--May May--June June--July July--August August--September September--October October October--November November--December Late December
Stringoptional
Death YearDeathYear

The year of death (negative for Era Vetus, positive for Era Nova). Locks character age calculation at this year. Optional.

Numberoptional
NationalityNationality

Current country or region of allegiance. Hides if blank.

Stringsuggested
Nation LinkNation

Internal link to the nation page. Automatically linked. Hides if blank.

Page namesuggested
OccupationOccupation

The character's job or primary role. Hides if blank.

Stringsuggested
ReligionReligion

Character's religious affiliation. Hides if blank.

Stringsuggested
Languages SpokenLanguages

Languages the character is fluent in. Hides if blank.

Stringsuggested
Character TypeCharacterType

Indicates the narrative classification of the character relative to active players and server mechanics.

Suggested values
Primary Character Secondary Character Side Character Archived Character
Default
Primary Character
Stringrequired
Minecraft UsernamePlayer

The player behind the character. Hides if blank.

Page namesuggested
StatusStatus

Current status. Auto-colors (Alive, Deceased, Missing, etc). Defaults to Alive.

Suggested values
Alive Deceased Dead Missing Unknown Imprisoned Captured Retired Undead Archived
Default
Alive
Stringsuggested