Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

JSON objects in the ODB, Markdown text instead of WP-Text

未关闭
#14 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
活跃
技术栈
json, markdown
领域
database, desktop

调研方向

No files, tests, or entry points are named. Start by breaking the proposal into the JSON-in-ODB and Markdown-backed wp-text editor work, then identify the existing ODB, scripting-language, and wp-text implementations. Done requires an agreed scope and tests for JSON storage/navigation and editing wp-text as Markdown.

由索引模型根据 Issue 内容生成。

描述

A bit of thinking out loud. Last time I worked on Frontier, JSON didn't exist and neither did Markdown.

If we were doing it today, we would have used both formats, and integrated them into the language of Frontier, both the scripting language and the odb, we could manipulate and store them.

JSON

I never liked dealing with XML objects in Frontier. We mapped it onto the odb structure, but XML allows multiple objects to have multiple instances with the same name, where as the odb insists every name is unique. We did a hack, and got it to work, but JSON would be better.

Example of how this might work -- the reallySimple package and daveRss, the first for reading feeds, and the latter for writing them. The input and output go in and out in JSON.

JSON details

A JSON type.

JSON constants, when you assign one to a value, it's stored as a JSON type.

Navigation is done the same way JavaScript does it.

Here's an example of a constant assignment to a local.

local (historyArray = [
	{
		"text": "The <b>Associated</b> <i>Press</i> is adding user-generated social content into its wire services.",
		"title": "",
		"link": "http://www.niemanlab.org/2017/05/the-associated-press-is-adding-user-generated-social-content-verified-of-course-into-its-wire-services/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+NiemanJournalismLab+(Nieman+Journalism+Lab)",
		"linkShort": "http://bit.ly/2qoz8i6",
		"when": "2017-05-16T16:47:07.045Z",
		"guid": {
			"flPermalink": true,
			"value": "http://www.niemanlab.org/2017/05/the-associated-press-is-adding-user-generated-social-content-verified-of-course-into-its-wire-services/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+NiemanJournalismLab+(Nieman+Journalism+Lab)"
			},
		"idTweet": "864522615880380419",
		"twitterScreenName": "davewiner",
		},
	{
		"text": "If Donald Trump Were a C.E.O., He'd Probably Be Fired Today.",
		"title": "",
		"link": "http://www.newyorker.com/news/john-cassidy/if-donald-trump-were-a-c-e-o-hed-probably-be-fired-today?mbid=rss",
		"linkShort": "http://bit.ly/2qoxxce",
		"when": "2017-05-16T16:44:25.731Z",
		"guid": {
			"flPermalink": true,
			"value": "http://www.newyorker.com/news/john-cassidy/if-donald-trump-were-a-c-e-o-hed-probably-be-fired-today?mbid=rss"
			},
		"idTweet": "864521938814857216",
		"twitterScreenName": "davewiner"
		},
	])

Referencing part of the JSON object.

local (guid = historyArray [ix].guid)
if (guid.flPermalink) 
   scratchpad.guid = guid
Markdown

This is the perennial problem for Frontier implementors, we licensed a WP engine for the original Frontier, back in the early 90s, and the product wasn't maintained, something like that -- but there were often problems in moving it forward with us. wp-text type is a pain in the ass. I left this for a to-do item until now, but I want to solve it because some of the apps legitimately use wp-text type.

What I want to do is implement it as Markdown.

So when you see a wp-text object you can open it in a window, the user can edit it, and when they save it back to the odb we store Markdown text.

I haven't thought it through any more than that, but wanted to let people know I'm going in this direction.

Haven't done anything with JSON yet.

主要语言
没有语言数据
星标
0
派生
0
PR 合并指标
30 天内没有已合并 PR

环境准备

我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

scripting/helloFrontier 的其他 Issue

查看 scripting/helloFrontier 的全部 Issue

相似的 Issue

更多 Databases Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。