{ localUrl: '../page/24h.html', arbitalUrl: 'https://arbital.com/p/24h', rawJsonUrl: '../raw/24h.json', likeableId: '1077', likeableType: 'page', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], pageId: '24h', edit: '5', editSummary: '', prevEdit: '4', currentEdit: '5', wasPublished: 'true', type: 'comment', title: '"Seems like there's main two..."', clickbait: '', textLength: '2176', alias: '24h', externalUrl: '', sortChildrenBy: 'recentFirst', hasVote: 'false', voteType: '', votesAnonymous: 'false', editCreatorId: 'EricBruylant', editCreatedAt: '2016-02-27 14:21:05', pageCreatorId: 'EricBruylant', pageCreatedAt: '2016-02-27 14:06:01', seeDomainId: '0', editDomainId: 'PaulChristiano', submitToDomainId: '0', isAutosave: 'false', isSnapshot: 'false', isLiveEdit: 'true', isMinorEdit: 'false', indirectTeacher: 'false', todoCount: '0', isEditorComment: 'false', isApprovedComment: 'true', isResolved: 'false', snapshotText: '', anchorContext: '', anchorText: '', anchorOffset: '0', mergedInto: '', isDeleted: 'false', viewCount: '354', text: 'Seems like there's main two parts:\n\n**How do we make it intuitive for editors**\n\nDisplaying template parameters in the text [scales badly](https://en.wikipedia.org/wiki/London?action=edit), is not a natural way of entering information, and generally scares away editors. My current best idea for solving this is copying [TemplateData's method](https://en.wikipedia.org/wiki/Cat?veaction=edit) (click on the infobox template, it lets you open a form to edit template parameters), but have the template call code highlighted in source editor (![highlight](https://i.imgur.com/9g2kWcp.png)), and make clicking that bring up a form to edit the parameters.\n\nA bonus is storing the parameters separately makes it much easier to reuse the structured information.\n\n**What features does it need to be handle the major use cases**\n\nEssential:\n\n* Single layer transclusion\n* [Template parameters](https://www.mediawiki.org/wiki/Help:Templates#Parameters)\n\nImportant\n\n* A way to conditionally hide parts of a template when a variable is not present.\n * Possibly via a basic [parser function](https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions) for IF?\n * Possibly by using the syntax for parameters so it's easy to specify which parts should only be shown if the parameter is included?\n* Core [magic words](https://www.mediawiki.org/wiki/Help:Magic_words)\n * PAGENAME, PARENTS, CHILDREN, DOMAIN, some time/date ones?\n\nWould be good:\n\n* Multi layer transclusion\n * Not certain about this, but not having it probably causes more problems than having it.\n* More flexible scripting for complex templates\n * The only really good implementation I know of is [Scribunto](https://en.wikipedia.org/wiki/Wikipedia:Lua)\n * MW got by with parser functions for a while. It worked, but it was ugly and terrible. Maybe a with some thought a parser function like solution could be made less bad.\n* A wider collection of [magic words](https://www.mediawiki.org/wiki/Help:Magic_words)\n\nWishlist:\n\n* Use the structured data stored in templates to improve search\n* Allow in-page display of structured data, like [SMW's Inline Queries](https://www.semantic-mediawiki.org/wiki/Help:Inline_queries)', metaText: '', isTextLoaded: 'true', isSubscribedToDiscussion: 'false', isSubscribedToUser: 'false', isSubscribedAsMaintainer: 'false', discussionSubscriberCount: '0', maintainerCount: '0', userSubscriberCount: '0', lastVisit: '2016-02-27 22:41:46', hasDraft: 'false', votes: [], voteSummary: 'null', muVoteSummary: '0', voteScaling: '0', currentUserVote: '-2', voteCount: '0', lockedVoteType: '', maxEditEver: '0', redLinkCount: '0', lockedBy: '', lockedUntil: '', nextPageId: '', prevPageId: '', usedAsMastery: 'false', proposalEditNum: '0', permissions: { edit: { has: 'false', reason: 'You don't have domain permission to edit this page' }, proposeEdit: { has: 'true', reason: '' }, delete: { has: 'false', reason: 'You don't have domain permission to delete this page' }, comment: { has: 'false', reason: 'You can't comment in this domain because you are not a member' }, proposeComment: { has: 'true', reason: '' } }, summaries: {}, creatorIds: [ 'EricBruylant' ], childIds: [], parentIds: [ 'arbital_community_input', '20h' ], commentIds: [], questionIds: [], tagIds: [], relatedIds: [], markIds: [], explanations: [], learnMore: [], requirements: [], subjects: [], lenses: [], lensParentId: '', pathPages: [], learnMoreTaughtMap: {}, learnMoreCoveredMap: {}, learnMoreRequiredMap: {}, editHistory: {}, domainSubmissions: {}, answers: [], answerCount: '0', commentCount: '0', newCommentCount: '0', linkedMarkCount: '0', changeLogs: [ { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '7972', pageId: '24h', userId: 'EricBruylant', edit: '5', type: 'newEdit', createdAt: '2016-02-27 14:21:05', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '7968', pageId: '24h', userId: 'EricBruylant', edit: '4', type: 'newEdit', createdAt: '2016-02-27 14:15:20', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '7967', pageId: '24h', userId: 'EricBruylant', edit: '3', type: 'newEdit', createdAt: '2016-02-27 14:12:19', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '7966', pageId: '24h', userId: 'EricBruylant', edit: '2', type: 'newEdit', createdAt: '2016-02-27 14:07:41', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '7959', pageId: '24h', userId: 'EricBruylant', edit: '1', type: 'newEdit', createdAt: '2016-02-27 14:06:02', auxPageId: '', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '7956', pageId: '24h', userId: 'EricBruylant', edit: '0', type: 'newParent', createdAt: '2016-02-27 11:43:52', auxPageId: 'arbital_community_input', oldSettingsValue: '', newSettingsValue: '' }, { likeableId: '0', likeableType: 'changeLog', myLikeValue: '0', likeCount: '0', dislikeCount: '0', likeScore: '0', individualLikes: [], id: '7958', pageId: '24h', userId: 'EricBruylant', edit: '0', type: 'newParent', createdAt: '2016-02-27 11:43:52', auxPageId: '20h', oldSettingsValue: '', newSettingsValue: '' } ], feedSubmissions: [], searchStrings: {}, hasChildren: 'false', hasParents: 'true', redAliases: {}, improvementTagIds: [], nonMetaTagIds: [], todos: [], slowDownMap: 'null', speedUpMap: 'null', arcPageIds: 'null', contentRequests: {} }