Jump to content

Official KSP 2 Wiki


wpetula

Recommended Posts

I love reading the Official Kerbal Space Program 1 Wiki's detailed celestial body descriptions, development trivia, diagrams, etc; however, there doesn't seem to be an Official Kerbal Space Program 2 Wiki yet. I tried to add dedicated sections of KSP 2 content to the existing wiki but was kicked out of the website by the mods because I didn't know what I was doing. Will there be an official KSP 2 wiki?  I will happily give the existing wiki another shot if people are willing to help me learn to be a professional contributor.

Link to comment
Share on other sites

Very cool, we need a wiki that is separate from KSP1, because it is really confusing to have conflicting information.  Some subtle changes have been made to orbits, etc., and it would be great to have a spot we could go and know we're looking at KSP2 data!

Link to comment
Share on other sites

Or, actually, I think it would be better if we used a KSP2: namespace instead of appending /KSP2 to the page name, since it would interfere with translations (such as 'Pol/fr'). This we would have 'Pol' and 'KSP2:Pol'. Besides, should new KSP2 content come, that is not in KSP1, it can go in the KSP2: namespace, so that people clearly se it is KSP2. (see Dres for an example)

If you agree to do it this way, I am willing to take time to migrate KSP2 information to their separate pages. (That would require, however, that a wiki admin creates the KSP2 namespace.)

If we use this method, should content from mods be added to the wiki, we can put them in a separate namespace as well (e.g 'gpp:Gael').

 

Also, should we create a separate Infobox/Body template for KSP2 celestial bodies, or keep the KSP one?

Edited by Nazalassa
Link to comment
Share on other sites

  • Community Manager

Since this has bubbled up again as a topic over the past couple weeks, going to start some conversations back up internally about how we can support the wiki initiatives.

The current MediaWiki is terribly out-of-date and some features are just straight up broken - plus I know we already wanted to consider moving to a new hosting provider.

If we're talking about distinguishing the information between the two games, I think I'm starting to prefer the idea of two separate Wikis. The KSP1 Wiki can almost be "archived" at this point.

 

For those of you who are interested in contributing to this project and have wiki experience, reach out to me on Discord and via PM so I can get a running list of users. Definitely want to make this a priority.

Link to comment
Share on other sites

20 hours ago, Dakota said:

The KSP1 Wiki can almost be "archived" at this point.

I don't think it should: the point of a "wiki" is to be editable by anyone who has information to add. There is no reason to archive it (in the sense of "making it uneditable", correct me if I'm wrong), since new information may need to be added, or existing information to be updated; for example fixing typos, adding or expanding translations, adding tutorials, and so on.
Maybe it would make sense to archive it if KSP were a dead game, but it isn't. Some people will keep playing it, and these people may want to update some information on the wiki. It thus should be kept alive.

Then, maybe the 'almost' in this quote was not to be understood as 'it very probably will', but as something else. In that case, I aplogize for not understanding it correctly.

Link to comment
Share on other sites

On 3/22/2024 at 5:15 PM, Dakota said:

Since this has bubbled up again as a topic over the past couple weeks, going to start some conversations back up internally about how we can support the wiki initiatives.

The current MediaWiki is terribly out-of-date and some features are just straight up broken - plus I know we already wanted to consider moving to a new hosting provider.

If we're talking about distinguishing the information between the two games, I think I'm starting to prefer the idea of two separate Wikis. The KSP1 Wiki can almost be "archived" at this point.

 

For those of you who are interested in contributing to this project and have wiki experience, reach out to me on Discord and via PM so I can get a running list of users. Definitely want to make this a priority.

I would be happy to give the kerbal.wiki domain to intercept if modders can still apply for a subdomain to use for their mods as well. 
that would allow everything to be under one easy to remember place. 

Link to comment
Share on other sites

This is great. I think speed needs to be part of the conversation. 

The wiki is still getting changed by well intentioned people. It would be nice to archive the KSP1 wiki before it becomes some hybridized amalgam.

Edited by Fizzlebop Smith
Link to comment
Share on other sites

18 minutes ago, Fizzlebop Smith said:

This is great. I think speed needs to be part of the conversation. 

The wiki is still getting changed by well intentioned people. It would be nice to archive the KSP1 wiki before it becomes some hybridized amalgam.

I hope with if the new wiki for ksp2 gets created that it will all be transferred over

Link to comment
Share on other sites

9 hours ago, Fizzlebop Smith said:

It would be nice to archive the KSP1 wiki before it becomes some hybridized amalgam.

If there is a KSP2-specific wiki, why would people add KSP2-related information on the KSP wiki? The only reasons I can think of are 1. not knowing there is a KSP2 wiki and 2. causing mayhem on purpose. If it happens, 1 can be solved by adding a banner or something stating that this is not the KSP2 wiki, and providing a link to it, and 2 can be dealt with in the same way as "spammers". (couldn't think of a better word for it)

Link to comment
Share on other sites

  • Community Manager
On 3/23/2024 at 6:56 AM, Nazalassa said:

I don't think it should: the point of a "wiki" is to be editable by anyone who has information to add. There is no reason to archive it (in the sense of "making it uneditable", correct me if I'm wrong), since new information may need to be added, or existing information to be updated; for example fixing typos, adding or expanding translations, adding tutorials, and so on.
Maybe it would make sense to archive it if KSP were a dead game, but it isn't. Some people will keep playing it, and these people may want to update some information on the wiki. It thus should be kept alive.

Then, maybe the 'almost' in this quote was not to be understood as 'it very probably will', but as something else. In that case, I aplogize for not understanding it correctly.

I agree, didn't really mean locking it down and making it read-only.

On 3/24/2024 at 12:46 AM, Nazalassa said:

If there is a KSP2-specific wiki, why would people add KSP2-related information on the KSP wiki? The only reasons I can think of are 1. not knowing there is a KSP2 wiki and 2. causing mayhem on purpose. If it happens, 1 can be solved by adding a banner or something stating that this is not the KSP2 wiki, and providing a link to it, and 2 can be dealt with in the same way as "spammers". (couldn't think of a better word for it)

I'll see what I can do about this.

Link to comment
Share on other sites

Will there be a Scribunto (Lua) Extension? Asking because I am currently using the Fandom as a testing ground (and have done some work there too...).

By the way, one of the admins of the KSP 2 Fandom Wiki here. Please get me off this website, Fandom is really not worth it, the constant ads, intrusive design, lack of customability... 

So looking forward for that KSP 2 wiki! 

Link to comment
Share on other sites

On 3/25/2024 at 11:22 AM, Dakota said:
On 3/24/2024 at 3:46 AM, Nazalassa said:

If there is a KSP2-specific wiki, why would people add KSP2-related information on the KSP wiki? The only reasons I can think of are 1. not knowing there is a KSP2 wiki and 2. causing mayhem on purpose. If it happens, 1 can be solved by adding a banner or something stating that this is not the KSP2 wiki, and providing a link to it, and 2 can be dealt with in the same way as "spammers". (couldn't think of a better word for it)

I'll see what I can do about this.

Wookipedia solution to this is using linked pages for Legends (pre disney canon) and Canon (canon), with a tab at the top to switch between the two. Technically what they have is a subpage on the same wiki, but it seems like a top banner linking to the corresponding page in the other wiki could work too, though it would be some work putting one on every page.

Link to comment
Share on other sites

Like otheres in this thread, I think that having a new namespace or even another website althogether would be better than having this, as KSP 2 is shaping up to differ from KSP 1. Yeah, they both share similarities (or else KSP 2 wouldn't be named that way, duh), but they're different enough for me to think that starting over would be the better option. It also just creates ambiguity, links the two games together and forces us to use the old MediaWiki version.
I don't know about you, but I do not like the old MediaWiki. Here is a comparison (WARNING: Large Code input coming!):

<includeonly>{{Infobox|width=280
|name={{{transcription|{{Body data/Name|{{{name|{{BASEPAGENAME}}}}}}}}}}
{{#if: {{{transcription|}}}{{#ifeq: {{Body data/Name|{{{name|{{BASEPAGENAME}}}}}}}|{{{name|{{BASEPAGENAME}}}}}||1}}|({{{name|{{BASEPAGENAME}}}}})}}
|file={{Body data|{{{name|{{BASEPAGENAME}}}}}|file}}
|file style=background:black
|notes={{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}|<references group="Note">
<ref name="centered">{{Infobox/Body/Dict|note}}</ref></references>}}
|lines=
{{Infobox/Line|{{lang
|en={{{name|{{BASEPAGENAME}}}}} as seen from orbit.
|de={{{name|{{BASEPAGENAME}}}}} vom Orbit aus gesehen.
|es={{{name|{{BASEPAGENAME}}}}} como se ve desde la órbita.
|fr=La planète {{{name|{{BASEPAGENAME}}}}} vue depuis l'orbite.
|hr=Pogled na {{{name|{{BASEPAGENAME}}}}} iz orbite.
|hu={{{name|{{BASEPAGENAME}}}}} a pályáról nézve
|it={{{name|{{BASEPAGENAME}}}}} visto dall'orbita
|ja=軌道からみた{{Body data/Name|{{{name|{{BASEPAGENAME}}}}}}}
|ko={{Body data/Name|{{{name|{{BASEPAGENAME}}}}}}} 을 궤도에서 바라본 모습이다.
|nl={{{name|{{BASEPAGENAME}}}}} gezien vanuit de ruimte.
|pl={{{name|{{BASEPAGENAME}}}}} widok z orbity.
|pt={{{name|{{BASEPAGENAME}}}}} visto de uma órbita 
|ru={{Body data/Name|{{{name|{{BASEPAGENAME}}}}}}} - вид с орбиты.
|tr=Uzaydan görünen haliyle {{{name|{{BASEPAGENAME}}}}}
|zh-cn=从轨道上看{{{name|{{BASEPAGENAME}}}}}。
}}|style=text-align: center; font-size:smaller;}}
{{Infobox/Line|[[{{Body data|{{{name|{{BASEPAGENAME}}}}}|class}}{{if lang}}|{{#switch: {{Body data|{{{name|{{BASEPAGENAME}}}}}|class}}
|Star={{Celestial/Dict|Star}}
|Planet={{Celestial/Dict|Planet}}
|Dwarf planet={{Celestial/Dict|Dwarf}}
|Moon={{Celestial/Dict|Moon}}
|#default={{Body data|{{{name|{{BASEPAGENAME}}}}}|class}}[[Category:Infobox/Body with unrecognized class]]
}}]] {{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}|{{Infobox/Body/Dict|of}} [[{{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}{{if lang}}|{{Celestial/Dict|{{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}}}]]
}}|style=text-align: center;}}
{{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}|
{{Infobox/Line|'''{{Infobox/Body/Dict|orbital}}'''}}
{{Infobox/Line|{{Infobox/Body/Dict|sma}}
|2=<span style="white-space:nowrap;">{{formatnum|{{Body data|{{{name|{{BASEPAGENAME}}}}}|semi-major axis}}}}&nbsp;{{Dict|m}} <ref name="centered" group="Note" /></span>}}
{{Infobox/Line|{{Infobox/Body/Dict|apo}}
|2=<span style="white-space:nowrap;">{{formatnum|{{#expr: {{Body data/Apoapsis|{{{name|{{BASEPAGENAME}}}}}}} round 1}}}}&nbsp;{{Dict|m}} <ref name="centered" group="Note" /></span>}}
{{Infobox/Line|{{Infobox/Body/Dict|per}}
|2=<span style="white-space:nowrap;">{{formatnum|{{#expr: {{Body data/Periapsis|{{{name|{{BASEPAGENAME}}}}}}} round 1}}}}&nbsp;{{Dict|m}} <ref name="centered" group="Note" /></span>}}
{{Infobox/Line|{{Infobox/Body/Dict|ecc}}
|{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|eccentricity}} round 3}}}}
{{Infobox/Line|{{Infobox/Body/Dict|inc}}
|{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|orbinc}} round 3 }}&nbsp;°}}
{{Infobox/Line|{{Infobox/Body/Dict|pe arg}}
|{{Body data|{{{name|{{BASEPAGENAME}}}}}|pe arg}}&nbsp;°}}
{{Infobox/Line|{{Infobox/Body/Dict|an arg}}
|{{Body data|{{{name|{{BASEPAGENAME}}}}}|an arg}}&nbsp;°}}
{{Infobox/Line|{{Infobox/Body/Dict|anomaly}}
|{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|anomaly}} round 3}}&nbsp;{{Dict|rad}} <small>({{Infobox/Body/Dict|at}})</small>}}
{{Infobox/Line|{{Infobox/Body/Dict|period}}
|{{formatnum|{{#expr: {{Body data/Sidereal orbit|{{{name|{{BASEPAGENAME}}}}}}} round 1 }}}}&nbsp;{{Dict|s}}
|<small>{{ExpandTime|{{Body data/Sidereal orbit|{{{name|{{BASEPAGENAME}}}}}}}}}</small>}}
{{Infobox/Line|{{Infobox/Body/Dict|synodic}}
|{{#ifeq: {{{name|{{BASEPAGENAME}}}}}|Kerbin|''{{Infobox/Body/Dict|undefined}}''|{{formatnum|{{#expr: {{OrbitSynodicPeriod|{{Body data/Sidereal orbit|{{{name|{{BASEPAGENAME}}}}}}}|{{#ifeq: {{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}|Kerbol|{{Body data/Sidereal orbit|Kerbin}}|{{Body data/Sidereal orbit|{{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}}}}}}} round 1 }}|1}}&nbsp;{{Dict|s}}
|<small>{{#ifeq: {{{name|{{BASEPAGENAME}}}}}|Kerbin||{{ExpandTime|{{OrbitSynodicPeriod|{{Body data/Sidereal orbit|{{{name|{{BASEPAGENAME}}}}}}}|{{#ifeq: {{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}|Kerbol|{{Body data/Sidereal orbit|Kerbin}}|{{Body data/Sidereal orbit|{{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}}}}}}}}}</small>}}}}}}
{{Infobox/Line|{{Infobox/Body/Dict|velocity}}
|{{#ifeq: {{Body data|{{{name|{{BASEPAGENAME}}}}}|eccentricity}}|0|{{formatnum|{{#expr: 2 * pi * {{Body data|{{{name|{{BASEPAGENAME}}}}}|semi-major axis}} / {{Body data/Sidereal orbit|{{{name|{{BASEPAGENAME}}}}}}} round 1 }}}}|{{formatnum|{{#expr: 2 * pi * {{Body data|{{{name|{{BASEPAGENAME}}}}}|semi-major axis}} / {{Body data/Sidereal orbit|{{{name|{{BASEPAGENAME}}}}}}} * ((1 - {{Body data|{{{name|{{BASEPAGENAME}}}}}|eccentricity}}) / (1 + {{Body data|{{{name|{{BASEPAGENAME}}}}}|eccentricity}}))^(0.5) round 1 }}}} - {{formatnum|{{#expr: 2 * pi * {{Body data|{{{name|{{BASEPAGENAME}}}}}|semi-major axis}} / {{Body data/Sidereal orbit|{{{name|{{BASEPAGENAME}}}}}}} * ((1 + {{Body data|{{{name|{{BASEPAGENAME}}}}}|eccentricity}}) / (1 - {{Body data|{{{name|{{BASEPAGENAME}}}}}|eccentricity}}))^(0.5) round 1 }}}}}}&nbsp;{{Dict|m}}/{{Dict|s}}}}
{{#ifeq: {{Body data|{{{name|{{BASEPAGENAME}}}}}|class}}|Moon|{{Infobox/Line|{{Infobox/Body/Dict|eclipsed}}
|{{formatnum|{{#expr: ceil(((2 * (({{Body data/Apoapsis|{{{name|{{BASEPAGENAME}}}}}}} + {{Body data/Periapsis|{{{name|{{BASEPAGENAME}}}}}}}) / 2) * (({{Body data/Apoapsis|{{{name|{{BASEPAGENAME}}}}}}} * {{Body data/Periapsis|{{{name|{{BASEPAGENAME}}}}}}})^0.5)) / ((((2 * {{Body data/Apoapsis|{{{name|{{BASEPAGENAME}}}}}}} * {{Body data/Periapsis|{{{name|{{BASEPAGENAME}}}}}}}) / ({{Body data/Apoapsis|{{{name|{{BASEPAGENAME}}}}}}} + {{Body data/Periapsis|{{{name|{{BASEPAGENAME}}}}}}})) * ({{G}} * {{Body data/Mass|{{{name|{{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}}}}}}))^0.5)) * ((asin({{Body data|{{{name|{{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}}}}|radius}} / (({{Body data/Apoapsis|{{{name|{{BASEPAGENAME}}}}}}} * {{Body data/Periapsis|{{{name|{{BASEPAGENAME}}}}}}})^0.5))) + (((({{Body data/Apoapsis|{{{name|{{BASEPAGENAME}}}}}}} - {{Body data/Periapsis|{{{name|{{BASEPAGENAME}}}}}}}) / ({{Body data/Apoapsis|{{{name|{{BASEPAGENAME}}}}}}} + {{Body data/Periapsis|{{{name|{{BASEPAGENAME}}}}}}})) * {{Body data|{{{name|{{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}}}}|radius}}) / (({{Body data/Apoapsis|{{{name|{{BASEPAGENAME}}}}}}} * {{Body data/Periapsis|{{{name|{{BASEPAGENAME}}}}}}})^0.5))))}}}}&nbsp;{{Dict|s}}}}}}}}
{{Infobox/Line|'''{{Infobox/Body/Dict|physical}}'''}}
{{Infobox/Line|{{Infobox/Body/Dict|radius}}
|{{formatnum|{{Body data|{{{name|{{BASEPAGENAME}}}}}|radius}}}}&nbsp;{{Dict|m}}}}
{{Infobox/Line|{{Infobox/Body/Dict|circumference}}
|{{formatnum|{{#expr: 2 * pi * {{Body data|{{{name|{{BASEPAGENAME}}}}}|radius}}}}}}&nbsp;{{Dict|m}}}}
{{Infobox/Line|{{Infobox/Body/Dict|area}}
|{{sigfigs|{{#expr: 4 * pi * {{Body data|{{{name|{{BASEPAGENAME}}}}}|radius}}^2}}|8}}&nbsp;{{Dict|m}}<sup>2</sup>}}
{{Infobox/Line|{{Infobox/Body/Dict|mass}}
|{{sigfigs|{{Body data/Mass|{{{name|{{BASEPAGENAME}}}}}}}|8}}&nbsp;{{Dict|k}}{{Dict|g}}}}
{{Infobox/Line|{{Infobox/Body/Dict|gravpar}}
|{{sigfigs|{{#expr: {{Body data/Mass|{{{name|{{BASEPAGENAME}}}}}}} * {{G}}}}|8}}&nbsp;{{Dict|m}}<sup>3</sup>/{{Dict|s}}<sup>2</sup>}}
{{Infobox/Line|{{Infobox/Body/Dict|density}}
|{{sigfigs|{{#expr: {{Body data/Mass|{{{name|{{BASEPAGENAME}}}}}}} / (4 * pi * {{Body data|{{{name|{{BASEPAGENAME}}}}}|radius}}^3 / 3)}}|8}}&nbsp;{{Dict|k}}{{Dict|g}}/{{Dict|m}}<sup>3</sup>}}
{{Infobox/Line|{{Infobox/Body/Dict|gravity}}
|{{sigfigs|{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|gravity gees}} * 9.80665}}|3}}&nbsp;{{Dict|m}}/{{Dict|s}}<sup>2</sup> <small>({{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|gravity gees}} round 3 }}&nbsp;''{{Dict|g}}'')</small>}}
{{Infobox/Line|{{Infobox/Body/Dict|escape}}
|{{formatnum|{{#expr: (2 * {{G}} * {{Body data/Mass|{{{name|{{BASEPAGENAME}}}}}}} / {{Body data|{{{name|{{BASEPAGENAME}}}}}|radius}})^0.5}}|2}}&nbsp;{{Dict|m}}/{{Dict|s}}}}
{{Infobox/Line|{{Infobox/Body/Dict|rotation}}
|{{sigfigs|{{Body data|{{{name|{{BASEPAGENAME}}}}}|sidrot}}|8}}&nbsp;{{Dict|s}}
|<small>{{ExpandTime|{{Body data|{{{name|{{BASEPAGENAME}}}}}|sidrot}}}}</small>}}
{{#ifeq: {{Body data|{{{name|{{BASEPAGENAME}}}}}|parent}}|Kerbol|
{{Infobox/Line|{{Infobox/Body/Dict|solar}}
|{{sigfigs|{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|sidrot}} / (1 - {{Body data|{{{name|{{BASEPAGENAME}}}}}|sidrot}} / {{Body data/Sidereal orbit|{{{name|{{BASEPAGENAME}}}}}}})}}|8}}&nbsp;{{Dict|s}}|<small>{{ExpandTime|({{Body data|{{{name|{{BASEPAGENAME}}}}}|sidrot}} / (1 - {{Body data|{{{name|{{BASEPAGENAME}}}}}|sidrot}} / {{Body data/Sidereal orbit|{{{name|{{BASEPAGENAME}}}}}}}))}}</small>}}}}
{{Infobox/Line|{{Infobox/Body/Dict|sidereal}}
|{{sigfigs|{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|radius}} * 2 * pi / {{Body data|{{{name|{{BASEPAGENAME}}}}}|sidrot}}}}|5}}&nbsp;{{Dict|m}}/{{Dict|s}}}}
{{Infobox/Line|{{Infobox/Body/Dict|sync}}
|{{#if: {{Body data/SOI|{{{name|{{BASEPAGENAME}}}}}}}{{#ifexpr: {{OrbitAltitude/Core|{{Body data|{{{name|{{BASEPAGENAME}}}}}|sidrot}}|{{Body data/Mass|{{{name|{{BASEPAGENAME}}}}}}}|{{Body data|{{{name|{{BASEPAGENAME}}}}}|radius}}}} < {{Body data/SOI|{{{name|{{BASEPAGENAME}}}}}}}|1}}|{{OrbitAltitude | radius={{Body data|{{{name|{{BASEPAGENAME}}}}}|radius}} | mass={{Body data/Mass|{{{name|{{BASEPAGENAME}}}}}}} | period={{Body data|{{{name|{{BASEPAGENAME}}}}}|sidrot}}|factor=k}}|{{Infobox/Body/Dict|outside}}}}}}
{{Infobox/Line|{{Infobox/Body/Dict|soi}}
|{{#if: {{Body data/SOI|{{{name|{{BASEPAGENAME}}}}}}}|<span style="white-space:nowrap;">{{sigfigs|{{Body data/SOI|{{{name|{{BASEPAGENAME}}}}}}}|8}}&nbsp;{{Dict|m}} <ref name="centered" group="Note" /></span>|∞}}}}
{{Infobox/Line|'''{{Infobox/Body/Dict|atmospheric}}'''}}
{{Infobox/Line|{{Infobox/Body/Dict|atmo}}
|{{#ifexpr: {{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|pressure}}|{{Body data|{{{name|{{BASEPAGENAME}}}}}|pressure}}|0}} > 0|{{Yes}}|{{No}}}}}}
{{#ifexpr: {{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|pressure}}|{{Body data|{{{name|{{BASEPAGENAME}}}}}|pressure}}|0}} > 0|
{{Infobox/Line|{{Infobox/Body/Dict|pressure}}
|{{sigfigs|{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|pressure}} * 101.325}}|6}}&nbsp;{{Dict|k}}{{Dict|Pa}}
|{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|pressure}} round 6 }}&nbsp;{{Dict|atm}}}}
{{Infobox/Line|{{Infobox/Body/Dict|height}}
|{{formatnum|{{Body data|{{{name|{{BASEPAGENAME}}}}}|atmospheric height}}}}&nbsp;{{Dict|m}}
|<small>{{sigfigs|{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|pressure}} * 1e-6}}|2}}&nbsp;{{Dict|atm}}</small>}}
{{Infobox/Line|{{Infobox/Body/Dict|temp-min}}
|{{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|min temp}}|{{Body data|{{{name|{{BASEPAGENAME}}}}}|min temp}}&nbsp;°C <small>{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|min temp}} + 273.15}}&nbsp;{{Dict|K}}</small>|{{Dict|Unknown}}}}}}
{{Infobox/Line|{{Infobox/Body/Dict|temp-max}}
|{{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|max temp}}|{{Body data|{{{name|{{BASEPAGENAME}}}}}|max temp}}&nbsp;°C <small>{{#expr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|max temp}} + 273.15}}&nbsp;{{Dict|K}}</small>|{{Dict|Unknown}}}}}}
{{Infobox/Line|{{Infobox/Body/Dict|oxygen}}
|{{#ifeq: {{uc:{{Body data|{{{name|{{BASEPAGENAME}}}}}|oxygen}}}}|YES|{{Yes}}|{{No}}}}}}}}
{{Infobox/Line|'''{{Infobox/Body/Dict|sci}}'''}}
{{Infobox/Line|{{Infobox/Body/Dict|surface}}
|{{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|sci landed surf}}|{{#if: {{#ifexpr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|sci landed surf}} > 0|1}}|{{Body data|{{{name|{{BASEPAGENAME}}}}}|sci landed surf}}|''N/A''}}|''N/A''}}}}
{{Infobox/Line|{{Infobox/Body/Dict|splashed}}
|{{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|sci splashed surf}}|{{#if: {{#ifexpr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|sci splashed surf}} > 0|1}}|{{Body data|{{{name|{{BASEPAGENAME}}}}}|sci splashed surf}}|''N/A''}}|''N/A''}}}}
{{#ifexpr: {{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|pressure}}|{{Body data|{{{name|{{BASEPAGENAME}}}}}|pressure}}|0}} > 0|
{{Infobox/Line|{{Infobox/Body/Dict|low-atmo}}
|{{#if: {{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci lower atmo}}|{{#if: {{#ifexpr: {{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci lower atmo}} > 0|1}}|{{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci lower atmo}}|''N/A''}}|''N/A''}}}}
{{Infobox/Line|{{Infobox/Body/Dict|up-atmo}}
|{{#if: {{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci upper atmo}}|{{#if: {{#ifexpr: {{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci upper atmo}} > 0|1}}|{{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci upper atmo}}|''N/A''}}|''N/A''}}}}}}
{{Infobox/Line|{{Infobox/Body/Dict|near}}
|{{#if: {{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci near space}}|{{#if: {{#ifexpr: {{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci near space}} > 0|1}}|{{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci near space}}|''N/A''}}|''N/A''}}}}
{{Infobox/Line|{{Infobox/Body/Dict|outer}}
|{{#if: {{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci outer space}}|{{#if: {{#ifexpr: {{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci outer space}} > 0|1}}|{{BodyData|{{{name|{{BASEPAGENAME}}}}}|sci outer space}}|''N/A''}}|''N/A''}}}}
{{Infobox/Line|{{Infobox/Body/Dict|recovery}}
|{{#if: {{Body data|{{{name|{{BASEPAGENAME}}}}}|sci recovery}}|{{#if: {{#ifexpr: {{Body data|{{{name|{{BASEPAGENAME}}}}}|sci recovery}} > 0|1}}|{{Body data|{{{name|{{BASEPAGENAME}}}}}|sci recovery}}|''N/A''}}|''N/A''}}}}
}}</includeonly>

This code here is the entire Infobox/Body Template on the KSP wiki. It works. Can you read it? I can't. Don't get me wrong, this isn't the fault of the authors - they did a great job with what they had. It's just that the MediaWiki Version the KSP Wiki uses is old and doesn't have the Scribunto or ParserFunctions - Extensions installed. For comparison, here is an example with Scribunto (Lua):
 

<includeonly>{{#invoke:Infobox/Body|infoboxCreate|{{FULLPAGENAME}}}}</includeonly>

This innocent line invokes the following Lua Module:
 

--<pre>
-- Load Modules
local loader = require('Module:Loader')

local string, table, yesno, arguments, Infobox, templates, body, versionAliases = loader.require('Module:String', 'Module:Table', 'Module:YesNo', 'Module:Arguments', 'Module:Infobox', 'Module:String/Templates', 'Module:Body', 'Module:VersionAliases')

local getArgs = arguments.getArgs
local curTitle = mw.title.getCurrentTitle()
local getBody = body._nicerNumbers
local getBodyPrimitive = body._getBody

local p = {}
--Creates an infobox
function p.infoboxCreate(frame)
	local args = getArgs(frame)
	return p._infoboxCreate(frame, args[1], args[2])
end
--Creates an Infobox using the infobox module.
function p._infoboxCreate(frame, pageName, inputName)
	local celestialBody = getBody(inputName) --returns the body data in nicer form. See Module:Body for more info.
	if not celestialBody then celestialBody = getBody(pageName) end
	if not celestialBody then return error("Page Name not working and unknown body "..inputName) end
	
	local category_to_add = '[[Category:Celestial Bodies]][[Category:'..celestialBody.typeBody..'s]]'--adds catgeories
	
	--Infobox creation starts here. For further information, see Module:Infobox
	local ibox = Infobox()
	ibox:addTitle{celestialBody.name} --General Information applying to all Stars
	ibox:addImage{celestialBody.file}
	local generalInfo = ibox:addGroup{header = "General Information"}
	generalInfo:addData{"[["..celestialBody.typeBody.."]]", label = "Type"}
	--Use data only for non-star objects
	if(celestialBody.typeBody ~= "Star") then 
		generalInfo:addData{"[["..celestialBody.orbitingBody.."]]", label = "Orbiting Body"} 
		generalInfo:addData{celestialBody.typeSurface, label = "Surface Type"}
		generalInfo:addData{celestialBody.geothermal_activity, label = "Geothermal Activity"}
	end
	generalInfo:addData{"[["..celestialBody.planetarySystem.."]]", label = "Planetary System"}
	generalInfo:addData{"[["..celestialBody.since_version.."|"..versionAliases[celestialBody.since_version].."]]", label = "Since Version"}
	:done()
	local physicalCharacteristics = ibox:addGroup{header = "Physical Characteristics", collapse = 'closed'}
	physicalCharacteristics:addData{celestialBody.radius.." m", label = "Radius"}
	physicalCharacteristics:addData{celestialBody.aquetorial_circumference.." m", label = "Aquetorial Circumference"}
	physicalCharacteristics:addData{celestialBody.surface_area.." m²", label = "Surface Area"}
	physicalCharacteristics:addData{celestialBody.mass.." kg", label = "Mass"}
	physicalCharacteristics:addData{celestialBody.GM.." m<sup>3</sup>s<sup>-2</sup>", label = "GM"}
	if(celestialBody.typeBody ~= "Star") then
		physicalCharacteristics:addData{celestialBody.sphere_of_influence.." m", label = "Sphere of Influence"}
	else
		physicalCharacteristics:addData{celestialBody.luminosity.." kgm<sup>2</sup>s<sup>-3</sup>", label = "Luminosity"}
	end
	physicalCharacteristics:addData{celestialBody.density.." kgm<sup>-3</sup>", label = "Density"}
	physicalCharacteristics:addData{celestialBody.surface_gravity.." ms<sup>-2</sup>", label = "Surface Gravity"}
	physicalCharacteristics:addData{celestialBody.axial_tilt.."°", label = "Axial Tilt"}
	physicalCharacteristics:addData{celestialBody.sidereal_rotation.." s", label = "Sidereal Rotation Period"}
	if(getBodyPrimitive(celestialBody.orbitingBody or '').typeBody == "Star") then
		physicalCharacteristics:addData{celestialBody.solar_day.." s", label = "Solar Day"}
	end
	physicalCharacteristics:addData{celestialBody.escape_velocity.." ms<sup>-1</sup>", label = "Escape Velocity"}
	physicalCharacteristics:addData{celestialBody.sidereal_rotation_velocity.." ms<sup>-1</sup>", label = "Sidereal Rotation Velocity"}
	:done()
	local orbitalCharacteristics = ibox:addGroup{header = "Orbital Characteristics", collapse = 'closed'}
	if(celestialBody.typeBody ~= "Star") then
		orbitalCharacteristics:addData{celestialBody.semiMajorAxis.." m", label = "Semi Major Axis"}
		orbitalCharacteristics:addData{celestialBody.apoapsis.." m", label = "Apoapsis"}
		orbitalCharacteristics:addData{celestialBody.periapsis.." m", label = "Periapsis"}
		orbitalCharacteristics:addData{celestialBody.eccentricity, label = "Eccentricity"}
		orbitalCharacteristics:addData{celestialBody.inclination.."°", label = "Inclination"}
		orbitalCharacteristics:addData{celestialBody.argument_of_periapsis.."°", label = "Argument of Periapsis"}
		orbitalCharacteristics:addData{celestialBody.longtitude_of_the_ascending_node.."°", label = "Longtitude of the Ascending Node"}
		orbitalCharacteristics:addData{celestialBody.orbital_period.." s", label = "Orbital Period"}
		orbitalCharacteristics:addData{celestialBody.mean_orbital_velocity.." ms<sup>-1</sup>", label = "Mean Orbital Velocity"}
		orbitalCharacteristics:addData{celestialBody.apoapsis_velocity.." ms<sup>-1</sup>", label = "Apoapsis Velocity"}
		orbitalCharacteristics:addData{celestialBody.periapsis_velocity.." ms<sup>-1</sup>", label = "Periapsis Velocity"}
	end
	orbitalCharacteristics:addData{celestialBody.synchronous_orbit.." m", label = "Synchronous Orbit"}
	orbitalCharacteristics:addData{celestialBody.semi_synchronous_orbit.." m", label = "Semi-Synchronous Orbit"}
	:done()
	local atmosphericCharacteristics = ibox:addGroup{header = "Atmospheric Characteristics", collapse = 'closed'}
	if(celestialBody.atmosphere == 0) then 
		atmosphericCharacteristics:addData{"Has no atmosphere", label = "Atmosphere"}
	else
		atmosphericCharacteristics:addData{celestialBody.atmosphere.." atm", label = "Atmosphere"}
		atmosphericCharacteristics:addData{celestialBody.atmospheric_heigth.." m", label = "Atmospheric Heigth"}
		atmosphericCharacteristics:addData{celestialBody.oxygen, label = "Oxygen"}
	end
	atmosphericCharacteristics:done()
	local infoboxString = ibox:tostring()
	infoboxString = frame:preprocess(infoboxString)--preprocess the table
	
	return table.concat{ 
		infoboxString,
		curTitle.namespace == 0 and category_to_add or ''
	}
end

return p

It uses some other Lua Modules (which I won't all paste here). Is it a bit slower? Probably. Does it really impact the site? No, not as far as I know (you can test it out yourself, it's on the fandom wiki sadly (I only work with what I have too - that's why so I'm excited about the official wiki, being free from the fangs of Fandom!)). Does it work? Yes. Is it easy to read/maintain/change? Ask it yourself, this was written by me (an 18 year-old with like two years of sporadic Wikipedia/Fandom experience). I bet you could write it too.

That's why I again beg for the Scribunto Extension to be installed. It makes life so much easier, makes "complex" wiki edits like creating templates that do stuff a lot easier and gives much more power to the editor. The only drawback is that it is a bit slower than the internal MediaWiki Template Code but as long as the module doesn't have to process databases or something those loading times aren't even noticeable.

With a KSP 2 wiki that would work on the old KSP wiki, this wouldn't be possible, though. Sadly.

Edited by Hytaler
Link to comment
Share on other sites

  • Community Manager

For those of you looking to contribute, I'd recommend adding to the Fandom wiki for now - and then once we have a plan in place we can move everything off of Fandom.

Re: mediawiki extensions, we can look at anything y'all think would be helpful.

--

To help get organized, would it be useful to start a subforum here on the KSP forums?

Link to comment
Share on other sites

I've just noticed that many Modules depend on this Extension:
https://www.mediawiki.org/wiki/Extension:PortableInfobox

Either this is a perfect candidate for an additional MediaWiki Extension (although then Infoboxes are gonna look like the ones used by Fandom) or I reprogram the Infobox Modules to use MediaWikis internal Infobox templates (i.e. steal the Module from Wikipedia, making it look more clean and more like the old KSP Wiki).
Y'all decide!

Link to comment
Share on other sites

  • Community Manager

I went ahead and created a new subforum to organize discussion about this project - but I'm going to make it opt-in.

If you are interested in contributing, please say so here or via DM and I'll give you permission to see the subforum.

I've done ahead and added a few of you who have already shown interest, you should be able to access it here.

Link to comment
Share on other sites

  • 2 weeks later...
On 3/28/2024 at 2:16 PM, Dakota said:

For those of you looking to contribute, I'd recommend adding to the Fandom wiki for now - and then once we have a plan in place we can move everything off of Fandom.

Re: mediawiki extensions, we can look at anything y'all think would be helpful.

--

To help get organized, would it be useful to start a subforum here on the KSP forums?


I also believe that a good wiki is central to the KSP(2) experience so it should really be a priority to get an official wiki established. I'm not sure that using the Fandom wiki as a stopgap solution is a good idea. If we ever wanted to port material from there to an official wiki then I think we are legally required to add a link back to the corresponding Fandom page. This seems mighty annoying.

They state the conditions under which we can take material off the Fandom page here:
https://www.fandom.com/licensing

I am very interested in this, but I'm afraid work and life might not give me much time to contribute. I'll contribute what I can if an official site goes up :)

Link to comment
Share on other sites

On 3/29/2024 at 6:31 PM, Dakota said:

I went ahead and created a new subforum to organize discussion about this project - but I'm going to make it opt-in.

If you are interested in contributing, please say so here or via DM and I'll give you permission to see the subforum.

I've done ahead and added a few of you who have already shown interest, you should be able to access it here.

I'd also like access. I can host the server if you won't host it, do editing and a bit of behind-the-scenes work

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...