12:53 Tombloo で Femo にポストするときにデフォルトで日付タグと public タグをつけるパッチ

saitamanodoruji : Tombloo で Femo にポストするときにデフォルトで日付タグと public タグをつける を patch 化。

addAround(Femo, 'post', function(proceed, args, target, methodName){
  // クロスポストを考慮し、psをそのまま改変しない
  var ps = args[0] = update({}, args[0]);
      ps.tags = [].concat(ps.tags);
      if (getPref('femo.appendDateTag')) {
              var d = new Date();
              var dtag = d.getFullYear() + '-' + [ d.getMonth() + 1, d.getDate() ].map(function(n) {
                      return ('' + n).pad(2, '0');
              }).join('-');
              if (ps.tags.indexOf(dtag) == -1) ps.tags.push(dtag);
      };
      if (getPref('femo.appendPublicTag')) {
              var isPrivate = false;
              for(i=0;i<ps.tags.length;i++) {
                      if (ps.tags[i].match(/^private$/)) isPrivate = true;
              }
              if (isPrivate == false) ps.tags.push('public');
      }
  return proceed(args);
});

o- 使用法

  • 拡張子 .js で tombloo/script フォルダ (Windows XP だと C:\Documents and Settings\{UserName}\Application Data\Mozilla\Firefox\Profiles\{ProfID}\tombloo\script のようなところ) に保存して Firefox を再起動。
  • about:config を開いて新規作成から真偽値 extensions.tombloo.femo.appendDateTag と extensions.tombloo.femo.appendPublicTag を作って値を true にする。
  • 投稿するときタグに private と入れると public タグは付かない。

o- 参考

05:28 Tombloo で Femo にポストするときにデフォルトで日付タグと public タグをつける

20_model.js の Femo の部分

o-

models.register({
      name: 'Femo',
      ICON: 'http://femo.jp/favicon.ico',
      POST_URL: 'http://femo.jp/create/post',
      
      check: function(ps) {
              return (/(regular|photo|quote|link|conversation|video)/).test(ps.type) && !ps.file;
      },
      
      post: function(ps) {
              return this.addMemo(ps);
      },
      
      addMemo : function(ps){
              return request(this.POST_URL, {
                      sendContent: {
                              title   : ps.item,
                              text    : joinText([ps.itemUrl, ps.body, ps.description], '\n'),
                              tagtext : joinText(ps.tags, ' '),
                      },
              });
      },
});

o-

models.register({
      name: 'Femo',
      ICON: 'http://femo.jp/favicon.ico',
      POST_URL: 'http://femo.jp/create/post',
      
      check: function(ps) {
              return (/(regular|photo|quote|link|conversation|video)/).test(ps.type) && !ps.file;
      },
      
      post: function(ps) {
              return this.addMemo(ps);
      },
      
      addMemo : function(ps){
              var tags = [].concat(ps.tags);
              if (getPref('femo.appendDateTag')) {
                      var d = new Date();
                      var dtag = d.getFullYear() + '-' + [ d.getMonth() + 1, d.getDate() ].map(function(n) {
                              return ('' + n).pad(2, '0');
                      }).join('-');
                      if (tags.indexOf(dtag) == -1) tags.push(dtag);
              }
              if (getPref('femo.appendPublicTag')) {
                      var isPrivate = false;
                      for(i=0;i<tags.length;i++) {
                              if (tags[i].match(/^private$/)) isPrivate = true;
                      }
                      if (isPrivate == false) tags.push('public');
              }
              return request(this.POST_URL, {
                      sendContent: {
                              title   : ps.item,
                              text    : joinText([ps.itemUrl, ps.body, ps.description], '\n'),
                              tagtext : joinText(tags, ' '),
                      },
              });
      },
});

あとは about:config から extensions.tombloo.femo.appendDateTag と extensions.tombloo.femo.appendPublicTag を新規作成して true にする。

タグに private と入れると public タグは付かない。

o- 参考