问题标签 [slug]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1868 浏览

django - 姜戈:越南语中的蛞蝓

越南语网站,与英语几乎没有什么不同。但是,有一个问题是蛞蝓。当我输入“ư”、“ơ”、“á”等字符时,无法识别 Django。此处的解决方案是替换未登录的字符。例如:

来自“những-viên-kẹo”的一个将变成“nhung-vien-keo”。但是,我不知道该怎么做。谁来帮帮我。非常感谢你!

0 投票
1 回答
10593 浏览

django - 在 Django 中启用 sluggified URL

我正在尝试在 Django 中启用 SO 使用的形式的 sluggified URL:example.com/id/slug。我启用 slug 没有问题,并且当前设置的 URL 格式为:http: //127.0.0.1 :8000/articles/id /(例如 /articles/1/),效果很好。对应的 URL 模式为:

如果我将 URL 模式更改为:

然后当我导航到http://127.0.0.1:8000/articles/another-article/时收到以下错误:

当前 URL,articles/another-article/,与其中任何一个都不匹配。

但是,如果我尝试:

我得到错误:

未找到与查询匹配的文章

最终,我希望能够通过以下任一方式导航到一篇文章:

http://127.0.0.1:8000/articles/1/http://127.0.0.1:8000/articles/1/another-article/

0 投票
4 回答
23837 浏览

java - 用于生成 slug 的 Java 代码/库(用于漂亮的 URL)

诸如 Rails 和 Django 之类的 Web 框架内置了对“slugs”的支持,这些“slugs”用于生成可读且对 SEO 友好的 URL:

一个 slug 字符串通常只包含 characters a-z0-9因此-可以在没有 URL 转义的情况下编写(想想“foo%20bar”)。

我正在寻找一个 Java slug 函数,它给定任何有效的 Unicode 字符串都将返回一个 slug 表示(a-z0-9-

一个微不足道的 slug 函数将类似于以下内容:

但是,此实现不会处理国际化和重音符号 ( ë> e)。解决这个问题的一种方法是枚举所有特殊情况,但这不是很优雅。我正在寻找更深思熟虑和一般的东西。

我的问题:

  • 在 Java 中生成 Django/Rails 类型 slug 的最通用/实用的方法是什么?
0 投票
2 回答
2397 浏览

sql - 固定链接/slug 最佳实践

我即将在网站上设置永久链接,我想知道在从现有的新闻文章表中生成它们时我应该遵循什么样的约定。

到目前为止,这是我提出的规则/步骤:

  1. 创建我的实时数据库的转储文件,在本地设置
  2. 在我的 news_articles 表中添加一个新的“永久链接”列ALTER table ADD column slug VARCHAR(100)(不确定数据类型或长度,建议?)
  3. 更新我的 news_articles 表中的每一行,这样

在标题经过一些格式化后,默认情况下永久链接列被标题替换:

免责声明:标题是俄语西里尔字母而不是英语,所以我认为我无法轻松替换正则表达式,除非我可能依赖 unicode 代码范围,除非我不熟悉西里尔字母的范围,所以我将进行手动替换,到目前为止我定义的规则是:

  • 用下划线替换所有空格
  • 去掉前导/尾随逗号和句点
  • 删除所有单/双引号
  • 删除所有问号
  • & 成为“和”的俄语单词

在我实际执行之前,我会感谢任何关于我当前策略的建议,因为有成千上万的文章。

0 投票
2 回答
21271 浏览

php - PHP中的URL友好用户名?

在我的 PHP 站点上,当前用户使用电子邮件地址和密码登录。我也想添加一个用户名,他们 g\set 的这个用户名将是唯一的,他们无法更改它。我想知道如何使这个名称中没有空格并在 URL 中工作,这样我就可以使用那里的用户名链接到那里的个人资料和其他东西。如果用户名中有空格,则应添加下划线 jason_davis。我不确定最好的方法是什么?

0 投票
2 回答
2425 浏览

doctrine - 外交关系的原则性行为

我有一个数据库设计案例,我很好奇 Doctrine ORM 是否支持开箱即用。


产品
  
    id:{type:integer,primary:true,autoincrement:true}
    type_id:{type:integer,notnull:true}
    brand_id:{type:integer,notnull:true}
  关系
    ProductType:
      class:ProductType
      local: type_id
      国外:id
    品牌:
      类:品牌
      本地:brand_id
      国外:id

ProductType :
  actAs :
    I18n:
    fields: { name }
  columns :
    id: {type: integer, primary: true, autoincrement: true }
    name: { type: string(255), notnull: true }

品牌
  actAs
    I18n:
      字段:{名称}
  
    id:{类型:整数,主要:真,自动增量:真}
    名称:{类型:字符串(255),notnull:真}


我想 slugify Products 表,即。产品将通过它们的蛞蝓到达。但是,正如您所见,brand 表和 productype 表都有 i18n 行为。而且,产品没有名称。产品的 slug 将是:“Brand.name - ProductType.name”,并随服务的语言而变化。

对于这种情况,无论如何我可以使用 Doctrine 的 Sluggable 行为来自动对我的产品进行 sluggify。还是我必须手动管理它?

顺便说一下,我的环境配置是:
Doctrine Version : 1.2
Symfony : 1.4.1

谢谢

0 投票
1 回答
2962 浏览

django - 如何在 Django 中创建 unique_for_field slug?

Django 有一个unique_for_date属性,您可以在将 SlugField 添加到模型时设置。这会导致 slug 仅对于您指定的字段的 Date 是唯一的:

为非日期时间字段(如 ForeignKey)实现相同功能的最佳方法是什么?理想情况下,我想做这样的事情:

这样我可以创建以下网址:

到目前为止我的想法:

  • 将 slug 和 categoryid 的唯一索引添加到表中。这需要 Django 之外的代码。当插入/更新失败时,内置管理员会正确处理这个问题吗?

  • 覆盖模型的保存并添加我自己的验证,如果存在重复则抛出错误。我知道这会起作用,但它似乎不是很干燥。

  • 创建一个从基础继承的新 slug 字段并在那里添加 unique_for 功能。这似乎是最好的方法,但我查看了核心的 unique_for_date 代码,扩展它似乎不是很直观。

关于最佳方式的任何想法、建议或意见?

0 投票
3 回答
9110 浏览

c# - C# 中的 Slugify 和字符转写

我正在尝试将以下 slugify 方法从 PHP 转换为 C#: http ://snipplr.com/view/22741/slugify-a-string-in-php/

编辑:为方便起见,这里是上面的代码:

除了找不到与以下 PHP 代码行等效的 C# 代码之外,其余部分的代码我没有遇到任何问题:

编辑: 这样做的目的是将非ASCII字符翻译Reformáció Genfi Emlékműve Előttreformacio-genfi-emlekmuve-elott

0 投票
5 回答
2047 浏览

ruby-on-rails - Rails 中漂亮(过时)的 RESTful URL

我希望我的网站具有如下所示的 URL:

我的Post模型带有slug字段('my-first-post')和published_on字段(我们将从中扣除 url 中的年份和月份部分)。

我希望我的Post模型是 RESTful 的,所以url_for(@post)像它们应该的那样工作,即:它应该生成上述 url。

有没有办法做到这一点?我知道您需要覆盖to_parammap.resources :posts设置:requirements选项,但我无法让它全部工作。


我几乎完成了,我已经完成了 90%。使用resource_hacks 插件我可以做到这一点:

在视图中:

生成正确的example.com/2010/02/my-first-post链接。

我也希望这个工作:

但它需要覆盖to_param模型中的方法。应该相当容易,除了to_param必须返回的事实,而String不是Hash我想要的。

结果can't convert Hash into String出错。

这似乎被忽略了:

因为它会导致错误:(post_url failed to generate from {:action=>"show", :year=>#<Post id: 1, title: (...)它错误地将 @post 对象分配给 :year 键)。我对如何破解它一无所知。

0 投票
2 回答
195 浏览

asp.net-mvc - 替换routeurl中的字符?

我试图在我的 url 的路由中添加一个“全名”,我想知道我应该替换哪些字符?我应该使用 _ 而不是空格吗?还有哪些其他字符可能“需要”替换?

大多会使用瑞典名字,但有些可能有一些奇怪的字母,虽然不是冰岛的:)

/米