【发布时间】:2020-02-19 21:49:21
【问题描述】:
我正在制作照片库/灯箱,并正在使用 graphql 来管理图片。
我的文件夹中有 10 张照片: "1- 图片.png", "2- 其他图片.png", "3-...", ..., "10- 我的最后一张图片.png"
我用下面的sn-p升序排序,
export const query = graphql`
query($gallery: String!) {
allFile(
filter: {
sourceInstanceName: { eq: "galleries" }
absolutePath: { glob: $gallery }
}
sort: { fields: name, order: ASC }
) {
nodes {
name
childImageSharp {
fluid(maxWidth:1920, quality:90) {
...GatsbyImageSharpFluid
}
}
}
}
}
`
但是输出顺序是“1- Picture.png”、“10- My last picture.png”、“2- Picture of other thing.png”,...
有没有一种智能的方法可以按字符串开头的数字排序?我能想到的最简单的方法是将 1-9 文件重命名为“01-...png”,但我正在尝试对包含 5-150 张照片的数千个文件夹实施此操作,所有这些都使用“1-”命名约定。
如何对这些照片进行排序,以使“9- Some name.png”列在“10- My last picture.png”之前?
【问题讨论】:
-
重命名文件可能更有意义。
-
@ksav 我开始这样倾斜。我觉得这应该是可以管理的 - 我认为我想做的事情背后的逻辑是合理的。
-
当然一切皆有可能。但就像你说的那样,找到一种方法来批量重命名所有文件并用前导 0 填充文件名会更容易。
标签: graphql gatsby graphql-js gatsby-image