小编Mon*_*nja的帖子

将 Next.js 链接插入 html 字符串

我有一个从 API 检索的 html 字符串。

const htmlString = "<p>Hello World</p>";
Run Code Online (Sandbox Code Playgroud)

我正在使用 ReactdangerouslySetInnerHTML在我的页面上显示该内容。

现在,在显示它之前,我想对其进行处理并在“ World ”上放置一个链接。但不是<a>标签。我需要一个实际的 Next.js<Link>标签。所以字符串替换可能无法完成这项工作。

我想在jsx中实现的结果是:

const processed = <p>Hello <Link href="/my-route"><a>World</a></Link></p>
Run Code Online (Sandbox Code Playgroud)

我想过使用 React.createElement 但我不确定如何在字符串中插入内容。

我有什么想法可以实现这一目标吗?

javascript jsx reactjs next.js

7
推荐指数
1
解决办法
1226
查看次数

Restangular - 指定自定义ID键

在Restangular中,如果我声明一个服务,并执行PUT/PATCH/POST操作,它默认使用项目的id作为主键.但是,如果我们想使用自定义密钥呢?像slu or还是数字?

// GET to /users
Users.getList().then(function(users) {
  var user = users[0]; // user === {id: 1, number: 123456, name: "Tonto"}
  user.name = "Gonto";
  // PUT to /users/1 <-- Here the id is used. But I'd like to use number to post to PUT to /users/123456
  user.put();
})
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-services restangular

5
推荐指数
1
解决办法
427
查看次数

ElementTree:为什么我的命名空间声明被删除了?

我正在构建 openoffice 文档。我有一个用于生成 content.xml 文件的脚手架。content-scaffold.xml 文件存储在文件系统中,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
  <office:document-content
  xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
  xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
  xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
  xmlns:db="urn:oasis:names:tc:opendocument:xmlns:database:1.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
  xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
  xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
  xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
  xmlns:grddl="http://www.w3.org/2003/g/data-view#"
  xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"
  xmlns:math="http://www.w3.org/1998/Math/MathML"
  xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
  xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
  xmlns:odf="http://docs.oasis-open.org/ns/office/1.2/meta/odf#"
  xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
  xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
  xmlns:pkg="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#"
  xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
  xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
  xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
  xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
  xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
  xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
  xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
  xmlns:xforms="http://www.w3.org/2002/xforms"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  office:version="1.2">

  <office:automatic-styles>

    <style:style style:family="text" style:name="Strong">
      <style:text-properties
        fo:color="#000000"
        fo:font-weight="bold" />
    </style:style>

  </office:automatic-styles>


  <office:body>
    <office:text>
      <!-- content will go here -->
    </office:text>
  </office:body>

</office:document-content>
Run Code Online (Sandbox Code Playgroud)

这个想法是我把这个 xml 注入到 office:text 标签中(在 python 中),然后将它呈现回来。在这个例子中,我注入了一个简单的 text:p 标签。

document_content = ElementTree.parse('content-scaffold.xml').getroot()
office_body = document_content.find('office:body', NAMESPACES)
office_text = office_body.find('office:text', NAMESPACES) …
Run Code Online (Sandbox Code Playgroud)

python xml elementtree xml-namespaces

5
推荐指数
1
解决办法
805
查看次数

django-admin makemessages:它如何处理 txt、xml 和其他文件?

我正在翻译 Django 应用程序。我在特定扩展名的文件中有可翻译的字符串(.vue 文件,但目前这不是很重要)。

我必须运行makemessages命令来解析这些字符串并生成 .po 文件。

文档说:

makemessages:遍历当前目录的整个源代码树并提取所有标记为翻译的字符串。

此外,文档指出默认文件扩展名是:html, txt, py并给出了一个明确定义扩展名的例子:

django-admin makemessages --locale=de --extension=html,txt --extension xml
Run Code Online (Sandbox Code Playgroud)

我的问题是:makemessages应该如何处理像txt和这样的非编译文件xml?我如何在这样的文件中标记要翻译的字符串

我知道如何在模板或 .py 文件中执行此操作:

.html

{% trans "Text to be translated" %}
Run Code Online (Sandbox Code Playgroud)

.py

gettext("Text to be translated")
# or
_("Text to be translated")
Run Code Online (Sandbox Code Playgroud)

但是其他扩展呢?.txt.xml?...最终.vue

python django gettext internationalization vue.js

4
推荐指数
1
解决办法
1837
查看次数

使用jquery读取<media:thumbnail />标签

我正在使用jquery来读取rss标签及其内容.访问简单的标签<title>非常简单:

$(this).find('title').text();
Run Code Online (Sandbox Code Playgroud)

但事情是rss feed有有趣的标签,如:

<media:thumbnail width="66" height="49" url="http://news.bbcimg.co.uk/media/images/52693000/jpg/_52693997_011963628-1.jpg" />
Run Code Online (Sandbox Code Playgroud)

当然,$(this).find('media:thumbnail');不工作......任何想法?提前致谢!

xml tags rss jquery

2
推荐指数
1
解决办法
2249
查看次数

渐进式网络应用程序:在单页应用程序上更新sw.js.

所以我们正在构建一个渐进的Web应用程序,当然我们正在使用非常棒的服务工作者.

每当我们发布新版本的应用程序时,我们都会更新sw.js文件中的版本号.在页面加载时,浏览器检测到sw.js已更改并触发"安装"和"激活"事件,这些事件又会缓存正确的资源以供离线使用.

这非常有效.但根据我的理解,它只会在页面加载时触发.因此,如果用户将应用程序添加到其主屏幕并始终使用此快捷方式来访问应用程序,则不会经常触发"刷新"事件,因此这些用户将不会像使用非SPA网络应用程序.

所以我的问题是你如何更新使用sw.js作为更新过程的单页渐进式Web应用程序?

我想到了几个解决方案,包括一个超时,它将查询服务器以寻找新版本并将其与本地等进行比较.但这似乎有点奇怪..

service-worker progressive-web-apps

2
推荐指数
1
解决办法
1150
查看次数

Angular:计算与条件匹配的项目

我有这一系列的项目

[
  {
    name: 'Foo',
    completed: false
  },
  {
    name: 'Ninja',
    completed: true
  },
  {
    name: 'Hello',
    completed: true
  },
  {
    name: 'Baby',
    completed: false
  },
]
Run Code Online (Sandbox Code Playgroud)

我想在我的视图中显示完成=真的计数.当元素从completed = false变为true时,我还需要此计数器自动更新.有没有办法以棱角分明的方式做到这一点?

angularjs

1
推荐指数
1
解决办法
6776
查看次数