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: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: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: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: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: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: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: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:2792040
Created May 26, 2012 03:48
javascript: read name page file
function read_name_page_file (name_page_file) {
var name_and_page = [];
var tmp_arr = [];
var tmp_str = "";
if(name_page_file !=null) {
name_page_file.open("r");
while(!name_page_file.eof){
tmp_str = name_page_file.readln();
tmp_arr = tmp_str.split("\t");
@kuyseng
kuyseng / gist:2792011
Created May 26, 2012 03:36
javascript: format time show rectime record time
function record_time(startTime) {
var secs = Math.round(((new Date()).getTime() - startTime)/1000);
if(secs === 0) return 1;
var str = "",
hr = Math.floor(secs / 3600),
min = Math.floor((secs - (hr * 3600))/60),
sec = secs - (hr * 3600) - (min * 60);
if(hr>0) { str += hr + "h:"; }
if(min>0) { str += min + "mn:"; }
if(sec>0) { str += sec + "s"; }
@kuyseng
kuyseng / gist:2792010
Created May 26, 2012 03:36
javascript: remove file extension
function remove_file_extension(name, extensions) {
var my_extensions = extensions || ["jpg","gif","png","psd","eps","indd","INDL","ai","txt","pdf"];
var reg_string = "\.(" + my_extensions.join("|") + ")$";
var my_reg = new RegExp( reg_string, "i" );
name = name.replace(my_reg, '');
return name;
};