在 NGINX 中,sub_filtersub_filter_once 是用于内容替换的指令,通常与 ngx_http_sub_module 模块一起使用。这个模块允许你在响应中进行字符串替换,以便动态修改页面内容。

1. sub_filter

sub_filter 用于在 NGINX 处理 HTTP 响应时执行文本替换。它允许你指定要替换的原始文本和替换后的新文本。

语法:

sub_filter <pattern> <replacement>;
  • <pattern>:需要替换的文本模式(可以是正则表达式,也可以是普通字符串)。
  • <replacement>:用来替换 <pattern> 的文本。

例子:

假设你希望将响应中的所有 http://old-url.com 替换为 https://new-url.com,可以这样配置:

sub_filter 'http://old-url.com' 'https://new-url.com';

2. sub_filter_once

sub_filter_once 用来指定是否只进行 一次替换,即只替换响应中的第一个匹配项。默认情况下,sub_filter 会替换所有匹配的文本,但 sub_filter_once 可以让你控制是否只替换第一次出现的匹配内容。

语法:

sub_filter_once on|off;
  • on:表示只进行一次替换,默认是 off,即替换所有匹配的文本。
  • off:表示对所有匹配项进行替换。

例子:

假设你只想替换响应中第一次出现的 http://old-url.com,可以这样配置:

sub_filter_once on;
sub_filter 'http://old-url.com' 'https://new-url.com';

总结:

  • sub_filter:在 NGINX 响应中进行文本替换,将所有匹配的文本替换为指定的文本。
  • sub_filter_once:控制替换是否仅发生一次(默认情况下,替换所有匹配项)。如果设置为 on,只会替换第一次出现的匹配文本。

在 Git 命令中,-- 用于分隔命令的选项和参数,特别是在命令中存在可能与文件名冲突的情况时。它帮助 Git 确定后续的内容是文件名,而不是命令选项或参数。

主要用途:

  1. 区分选项和文件名:当文件名以破折号(-)开头时,Git 可能会将其误解为选项。-- 告诉 Git 后面跟的内容是文件名,而不是选项。

    例如:

    git checkout -- -file.txt

    这里,-- 确保 Git 将 -file.txt 解释为文件名,而不是命令选项。

  2. 防止歧义:如果你在命令中有多个参数,并且这些参数有可能与 Git 的命令选项相冲突,-- 作为分隔符可以消除这种歧义。

    例如:

    git log -- -n 10

    -n 可能被误解为 git log 的选项,但 -- 告诉 Git 之后的 -n 是文件名,而不是选项。

总结:

-- 是一个特殊的标记,它告诉 Git 命令行后面跟的内容是文件名或路径,而不是命令的参数或选项。这种方式常用于文件名或路径以 - 开头的情况,防止它们被错误地解释为命令选项。

在Stable Diffusion中生成视频,你需要安装一些特定的插件和模型。以下是详细的步骤和所需内容:
插件安装
Temporal Kit:

功能:用于制作视频的扩展插件,支持视频风格迁移和时间一致性。

安装方法:

打开Stable Diffusion Web UI,点击“扩展”。

选择“从网址安装”,粘贴以下网址:Temporal Kit GitHub。

点击“安装”并重启Web UI。

AnimateDiff:

功能:制作丝滑动画视频插件,支持图生动画和视频重绘动画。

安装方法:

打开Stable Diffusion Web UI,点击“扩展”。

选择“从网址安装”,粘贴以下网址:AnimateDiff GitHub。

点击“安装”并重启Web UI。

模型下载:

动画模型:下载“mm_sd_v15_v2.ckpt”并放置在…\extensions\sd-webui-animatediff\model目录下。

LoRA模型:下载八个控制镜头的LoRA模型并放置在…\stable-diffusion-webui\models\lora目录下。

Deforum:

功能:将静态图片转化为动态视频的插件。

安装方法:

打开Stable Diffusion Web UI,点击“扩展”。

选择“可下载”标签,输入“deforum”,点击“安装”。

安装后,点击“应用更改并重启”。

模型选择
Stable Video Diffusion:

功能:Stability AI发布的视频生成大模型,支持文生视频和图像到视频的生成。

使用方法:

下载并安装Stable Video Diffusion模型。

在Stable Diffusion Web UI中选择该模型进行视频生成。

图生图模型:

功能:用于将关键帧图像转换为统一风格的图像。

使用方法:

选择合适的图生图模型(如CyberRealistic - v3.3)。

在图生图页面中输入关键帧图像,设置提示词和参数,生成新的关键帧图像。

https://developer.mozilla.org/en-US/docs/Web/API/ClipboardItem/ClipboardItem

async function writeClipImg() {
  try {
    if (ClipboardItem.supports("image/png")) {
      const imgURL = "/my-image.png";
      const data = await fetch(imgURL);
      const blob = await data.blob();
      await navigator.clipboard.write([
        new ClipboardItem({
          [blob.type]: blob,
        }),
      ]);
      console.log("Fetched image copied.");
    } else {
      console.log("image png is not supported");
    }
  } catch (err) {
    console.error(err.name, err.message);
  }
}

Clipboard::write接口
https://developer.mozilla.org/zh-CN/docs/Web/API/Clipboard/write

function setClipboard(text) {
  const type = "text/plain";
  const blob = new Blob([text], { type });
  const data = [new ClipboardItem({ [type]: blob })];

  navigator.clipboard.write(data).then(
    () => {
      /* success */
    },
    () => {
      /* failure */
    },
  );
}