From 9d3c8c0e6e1a7ba43bf3dc19350d1dca68b657a3 Mon Sep 17 00:00:00 2001
From: Chris Xiong <chirs241097@gmail.com>
Date: Sun, 10 Feb 2019 11:16:07 +0800
Subject: Initial commit.

---
 blog/content/util/indexer.cpp | 48 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 blog/content/util/indexer.cpp

(limited to 'blog/content/util')

diff --git a/blog/content/util/indexer.cpp b/blog/content/util/indexer.cpp
new file mode 100644
index 0000000..b072633
--- /dev/null
+++ b/blog/content/util/indexer.cpp
@@ -0,0 +1,48 @@
+//filename		title		date		tags
+#include <dirent.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <cstdio>
+#include <cstring>
+#include <algorithm>
+#include <functional>
+#include <string>
+#include <vector>
+#define stripr(s) s[strlen(s)-1]=='\n'?s[strlen(s)-1]=0:0
+std::vector<std::string> fn;
+char buf1[65536],buf2[65536],buf3[65536];
+int main()
+{
+	struct dirent* pd;DIR* pdir;
+	pdir=opendir("/var/www/html/blog/content");
+	while((pd=readdir(pdir))!=NULL)
+	{
+		std::string s(pd->d_name);
+		if(s.length()<4)continue;
+		if(s.substr(s.length()-4)==".txt")
+		fn.push_back(s.substr(0,s.length()-4));
+	}
+	closedir(pdir);
+	std::sort(fn.begin(),fn.end(),std::greater<std::string>());
+	FILE *f,*rf;
+	f=fopen("/var/www/html/blog/content/pindex","w");
+	for(size_t i=0;i<fn.size();++i)
+	{
+		puts(("/var/www/html/blog/content/"+fn[i]+".txt").c_str());
+		struct stat st;struct tm* mt;
+		stat(("/var/www/html/blog/content/"+fn[i]+".txt").c_str(),&st);
+		mt=localtime(&st.st_mtime);
+		rf=fopen(("/var/www/html/blog/content/"+fn[i]+".txt").c_str(),"r");
+		fgets(buf1,65536,rf);stripr(buf1);
+		fgets(buf2,65536,rf);stripr(buf2);
+		fgets(buf3,65536,rf);stripr(buf3);
+		if(strstr(buf2,"WIP")){puts(" SKIPPED");continue;}
+		fprintf(f,"%s\t",fn[i].c_str());
+		fprintf(f,"%s\t",buf1);
+		fprintf(f,"%s/%d-%02d-%02d\t",buf2,mt->tm_year+1900,mt->tm_mon+1,mt->tm_mday);
+		fprintf(f,"%s\n",buf3);
+		fclose(rf);
+	}
+	fclose(f);
+}
-- 
cgit v1.2.3