博客园图片居中工具
把typora写好的文章上传到博客园时,默认的图片对齐方式总是左对齐,看起来总是很别扭,尝试用AHK手动替换但效率太低,于是下定决心写个自动替换程序一劳永逸。
貌似可以直接修改博客园的CSS代码直接实现图片居中,以下内容可以不用看了。。。。。。。
食用方法:
将下面的代码直接复制到cpp文件中,找一个喜欢的位置新建一个空白的txt文件。在infile内填入txt的路径。(建议使用绝对路径,方便后续打包直接使用)
然后将程序打包exe,每次使用将.md里的内容复制到txt文件里,然后点击打包好的.exe即可自动替换所有的图片至居中。
不会QT所以不会写成拖入文件直接替换的界面版,以后填这个坑。
#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
#include <windows.h>
using namespace std;
const string str1 = "<center><img src = \"";
const string str2 = "\"></center>";
int main() {
string infile = "YOUR FILE NAME PATH"; // YOUR FILE NAME PATH (.txt) !!!!!
ifstream in(infile,ios_base::in);
string line;
vector<string> vec;
ifstream in(infile,ios_base::in);
string line;
vector<string> vec;
if(in)
{
while(getline(in, line))
{
if(line.find("![image-") != line.npos)
{
string str = "";
int f = 0;
int a1 = line.find('('), a2 = line.rfind(')');
for(int i = a1 + 1; i < a2; i++)
{
str += line[i];
}
str[f] = '\0';
str[0] = 'h'; //转换完后我的第一个字母会变成乱码,原因不明,所以手动把第一个改成h
vec.push_back(str1 + str + str2);
}
else
vec.push_back(line);
}
ofstream out(infile);
for(auto &v : vec)
{
out << v << endl;
}
MessageBox(NULL,TEXT("替换成功"),TEXT("提示"),MB_OK);
}
else
{
MessageBox(NULL,TEXT("没找到该文件"),TEXT("提示"),MB_OK);
}
return 0;
}