Skip to content

Instantly share code, notes, and snippets.

View kuyseng's full-sized avatar

Kuyseng CHHOEUN kuyseng

  • Yoolk Inc.
  • Phnom Penh, Cambodia
View GitHub Profile
@kuyseng
kuyseng / gist:2792041
Created May 26, 2012 03:48
javascript: read text file
function read_text_file (file) {
if(file !=null) {
var all_string = "";
file.open("r");
while(!file.eof) {
all_string += (file.readln() + "\n") ;
};
file.close();
};
@kuyseng
kuyseng / gist:2792046
Created May 26, 2012 03:49
javascript: indesign remove words from string using regexp
function remove_see_see_also ( text ) {
var tmp_str = "";
var my_reg = new RegExp("(^see also )|(^see )|(\t000$)","g");
tmp_str = text.replace(my_reg, "");
// remove unvisible xml tag
var xml_tag_char = "";
xml_tag_char = tmp_str.charCodeAt(0);
if(xml_tag_char === 65279){
tmp_str = tmp_str.replace(tmp_str[0],"");
};
@kuyseng
kuyseng / gist:2792051
Created May 26, 2012 03:50
javascript: indesign find by grep
function find_by_grep (grep_keyword, paragraph_style, app_document) {
var app_doc = app_document || app.activeDocument;
app.findChangeGrepOptions.includeLockedLayersForFind = false;
app.findChangeGrepOptions.includeLockedStoriesForFind = false;
app.findChangeGrepOptions.includeHiddenLayers = false;
app.findChangeGrepOptions.includeMasterPages = false;
app.findChangeGrepOptions.includeFootnotes = false;
// app.findChangeTextOptions.caseSensitive = true;
// app.findChangeTextOptions.wholeWord = true;
@kuyseng
kuyseng / gist:2792054
Created May 26, 2012 03:51
javascript: indesign filter files regexp
function filter_files (param_files, file_name_part) {
var all_files = param_files || [];
var selected_files = [];
var my_reg = new RegExp(file_name_part);
if(all_files.length === 0 ) {return [];}
for (var i = 0, len = all_files.length; i < len; i++) {
if(my_reg.test(all_files[i].name)) {
selected_files.push(all_files[i]);
};
};
@kuyseng
kuyseng / gist:2792057
Created May 26, 2012 03:52
javascript: indesign get all files in folder
function get_folder_files(file_type, title, param_path) {
// v.0.1.2
var path = "";
if(!param_path) {
var tmp_file = File.openDialog(title, file_type);
if(!tmp_file) {exit(); };
path = tmp_file.path;
}else { path = param_path; };
var my_folder = new Folder(path);
@kuyseng
kuyseng / gist:2792080
Created May 26, 2012 03:53
javascript: indesign progress bar
function index_progress_bar(title) {
var w = new Window("palette", title, undefined);
w.orientation = "column";
var text_group = w.add("group");
text_group.orientation = "column";
var file_name = text_group.add("statictext", [0,0,350,20], "calculating..");
var remain = text_group.add("statictext", [0,0,350,20], "Remain: ..");
text_group.alignChildren = "left";
var progressbar = w.add("progressbar", undefined, 0, 100);
progressbar.preferredSize = [350,20];
@kuyseng
kuyseng / gist:2792082
Created May 26, 2012 03:54
javascript: indesign already in library
function in_library (library_string, name) {
var my_reg_exp = new RegExp( "::" + remove_file_extension(name) + "::" ); // use separation symbol
var result = false;
if(my_reg_exp.test( library_string )) {
result = true;
};
return result;
};
@kuyseng
kuyseng / gist:2792084
Created May 26, 2012 03:55
javascript: indesign get library index dialog
function get_lib_index_dialog() {
// v 0.1.2 tested.
var library_name = "";
var all_library_names = [];
var my_index = -1;
for (var i = 0, len = app.libraries.length; i<len;i++) {
all_library_names.push(remove_file_extension(app.libraries[i].name).toUpperCase());
};
if(all_library_names.length ===1){return 0;}
if(all_library_names.length>1) {
@kuyseng
kuyseng / gist:2792088
Created May 26, 2012 03:56
javacript: indesign build library asset name string
function build_library_string(param_library_index) {
// v.0.1.1 no library or asset return ""
var library_index = param_library_index || 0 ;
var my_library = app.libraries[library_index];
var library_assets = my_library.assets;
var str = "";
if (app.libraries.length==0) {alert("There's no library."); return "";};
if (library_assets.length==0) {alert("There's no asset in the library."); return "";};
@kuyseng
kuyseng / gist:2792096
Created May 26, 2012 03:58
javascript: indesign join string page number with symbol
function join_page_string (pages, symbol_first, symbol_last) {
var page_string = "";
if( pages.length === 1 ) { return pages.toString();}
for (var i = 0, len = pages.length; i < len; i++) {
if(i < len-1) {
page_string += pages[i];
if( i != len-2 ) { page_string += symbol_first}
}else {
page_string += (symbol_last + pages[i]);
};