/* ---------- */ /* najihtml.c */ /* ---------- */ /* naji HTML (Hyper Text Markup Language) functions */ /* this .c file is a part */ /* of libnaji version 0.6.1 */ /* libnaji is based on */ /* the original najitool */ /* both najitool and libnaji */ /* are public domain and are */ /* made by the same author */ /* please read license.txt */ /* made by NECDET COKYAZICI */ /* getlinks made by YEHRCL */ #include "libnaji.h" void htmlfast(char *namein, char *nameout) { int a; najin(namein); najout(nameout); fprintf(naji_output, "
", nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; if ( (a != '<') && (a != '>') ) fputc(a, naji_output); if (a == '<') fprintf(naji_output, "<"); if (a == '>') fprintf(naji_output, ">"); } fprintf(naji_output, ""); najinclose(); najoutclose(); } /* todo: make it convert http, https, and ftp links */ /* into clicable links */ /* note:
This HTML page was converted with najitool.
"); fprintf(naji_output, "From plain text to HTML with all the formating preserved.
"); fprintf(naji_output, "With the command: najitool htmlfast %s %s
", namein, nameout); fprintf(naji_output, "You can get najitool the completely free tool at:
"); fprintf(naji_output, " http://najitool.sf.net/
"); fprintf(naji_output, "
"); fprintf(naji_output, " "); najinclose(); najoutclose(); } void html2txt(char *namein, char *nameout) { int a; najin(namein); najout(nameout); while(1) { a = fgetc(naji_input); if (a == EOF) break; if (a == '<') { while (1) { a = fgetc(naji_input); if (a == EOF) break; if (a == 'p' || a == 'P') { a = fgetc(naji_input); if (a == EOF) break; if (a == '>') { fputc('\n', naji_output); fputc('\n', naji_output); break; } else { ungetc(a, naji_input); } } else if (a == 'b' || a == 'B') { a = fgetc(naji_input); if (a == EOF) break; if (a == 'r' || a == 'R') { a = fgetc(naji_input); if (a == EOF) break; if (a == '>') { fputc('\n', naji_output); break; } else { ungetc(a, naji_input); } } } if (a == '>') break; } } else if (a == '\n') { while (1) { a = fgetc(naji_input); if (a == EOF) break; if (a == '\n') continue; else { fputc(' ', naji_output); ungetc(a, naji_input); break; } } } else if (a == ' ') { while (1) { a = fgetc(naji_input); if (a == EOF) break; if (a == ' ') continue; else { fputc(' ', naji_output); ungetc(a, naji_input); break; } } } else if (a != '<' && a != '>' && a != '\n' && a != '\r' && a != ' ') fputc(a, naji_output); } najinclose(); najoutclose(); } void hilist(char *namein, char *nameout) { char buffer[1050]; int i; najin(namein); najout(nameout); fprintf(naji_output, "\n\n
\n", buffer); } fprintf(naji_output, "\n\n\n\n
\n\n
\n\n"); fprintf(naji_output, "\n\n\n\n\n\n\n"); najinclose(); najoutclose(); } void downlist(char *namein, char *nameout) { char buffer[1050]; int i; najin(namein); najout(nameout); fprintf(naji_output, "\n\n
\n", buffer, buffer); } fprintf(naji_output, "\n\n\n\n
\n\n
\n\n"); fprintf(naji_output, "\n\n\n\n\n\n\n"); najinclose(); najoutclose(); } void getlinks(char *namein, char *nameout) { char temp[12]; int i; najin(namein); najout(nameout); temp[11] = '\0'; for (i=0; i<10; i++) temp[i] = fgetc(naji_input); while ((temp[10] = fgetc(naji_input)) != EOF) { touppersn(temp, 7); if (!strcmp (temp, "