個人的な目標:バージョン管理とワンクリックでの美しい印刷

尊敬されるコミュニティへのご挨拶! 多くの人が気づいているように、昨年はもうすぐです-成功? 誰もが個人的に自信を持ってこれを判断するには、「報告システム」があると便利です。 または、古典的な言葉、 PASで 。 同じ著者による以前の記事は、 理論的根拠使用例、および実践の議論を提供します。 特に、計画のためのほとんどのソフトウェアツール(いわゆる「ハイテク」自己管理)に対する批判が表明されました。 主な不満は、柔軟性の欠如です。 これは、「ミッドテク」および「ローテク」の手段(メモ帳、鉛筆と紙、リング上のプラスチックファイルとバインダー-自分で続けてください...)よりも有利です。





なぜ、どのように



目標を設定し、計画を立てて、デジタルドキュメントで作業したい-編集が簡単です。 (そして、関連性のために、彼らはしばしば目標と計画を書き直すことを勧めます!)一方、紙の形で-「インスピレーションのために」再読して知覚する方が便利です。 だから-印刷! マスコミでは、読みやすい見出し、インデントリストなどを用意することが望ましいですが、外出先でこれを行うことは、主要なことから気を散らすことを意味します。 このような状況では、論理フォーマットは魅力的なソリューションです(wiki、TeXなど)。 確かに、WYSIWYGの原則を犠牲にする必要があります...しかし、プレーンテキスト形式には別の価値ある機会があります。これについては、ソースコードをバージョン管理下に置くことができます。 そしてもちろん、半ダースまたはダースのドキュメントのセット全体(そしてそれぞれに独自のドキュメントがあります!)処理する必要があります-たとえば、印刷物に送る-バッチとして、個別にいじられません。



何が起こる



期待事項が一般的に概説されたので、実装について考えることができます。 標準的な手段でのみ管理します。主なものは適切な組み合わせです! その結果、一連のシンプルなツールから、機能的で柔軟性のあるシステムが得られます。 さらに、一緒に「ひざまずく」ときに「洗練されていないが非常に便利な」何かを集めたことで、あなたはユニークなDIY感覚を体験します。 以下の手順と40分の時間-そして、あなたは突破口機能を備えた「パーソナルレポートシステム」の幸せな所有者です。



目標は魅力的で魅力的なので、行ってください!



1.メモ帳++での編集



まだ使用していないすべての人- ダウンロード ! これの主な議論は、マルチドキュメントのタブ付きインターフェイスです。 もう1つの良い点は、すべての好みに合わせた多くの設定です。 それらの1つは必ず含める必要があります。

Settings > Preferences > New Document > Encoding > "UTF-8 without BOM"







これは、翻訳者がhtmlで正しく機能するために必要です。

異なる期間の目標/計画用に個別のファイルを作成します。次に例を示します。

  1. ミッションステートメント;
  2. 長期目標(3〜10年);
  3. 次の18か月の目標。
  4. 四半期の目標;
  5. 四半期計画
  6. 今月の目標と計画。


もちろん、ファイルの内容は個々のものです。 テキスト構造の例(見出し、リスト、表)は、付録AB 、およびCにあります



2. TortoiseSVNで変更を追跡する



たとえば、このようにデータのバージョン管理を使用できます。 月の初め-目標が設定され、バージョンが保存されました。 プリントアウト付きの各レビュー-個別のバージョンを保存します。 月末-リスト内のハイフン( -



)をプラス( +



)に置き換えます(目標が達成された場合)、保存(印刷なし)。 来月の目標は同じファイルに入力されます-リスト、保存。 そのため、後でどのような目標が設定され、どのように変更され、達成されたかを思い出すことができます。

最初に、ディレクトリ構造を作成し、ソーステキストファイル(エンコードがUTF-8



なるようにNotepad++



作成)に書き込みます。 たとえば、構造は次のとおりです。

 [PurposeMissionGoals]
     |-[html]
     |-[ツール]
     | --1_Slogans.txt
     | --2_LongTermGoals.txt
     | --3_MidTermGoals.txt
     | --4_QuarterlyGoals.txt
     | --5_QuarterlyPlan.txt
     | --6_MonthlyGoalsAndPlan.txt


次に-あなたの好みにより多くのものがあります。 集中型リポジトリにデータをインポートすることができます(既にサーバーを上げている場合)、またはリポジトリをローカルで作成してインポートすることができます。 念のため(突然、人文科学に役立つでしょう)、2番目のオプションはより詳細です。

  1. TortoiseSVNのインストールは、バージョン管理システムのクライアントであり、この場合はサーバーでもあります。 インストール後、 TortoiseSVN



    アイテムがエクスプローラーのコンテキストメニューに表示されます。
  2. ディレクトリを作成します(例D:\planning\PurposeMissionGoalsRepository



    。 データはここに保存されます。 このディレクトリを右クリックし、 TortoiseSVN > Create repository here



    選択します。
  3. 元の構造を持つPurposeMissionGoals



    ディレクトリをPurposeMissionGoals



    し、 TortoiseSVN > Import...



    選択しTortoiseSVN > Import...



    [ "Url of repository"



    フィールドで(この例の場合)指定します: file:///D:/planning/PurposeMissionGoalsRepository



    "OK"



    データが保存され、 PurposeMissionGoals



    を削除できます。
  4. (ディスク上の任意の場所に)「 PurposeMissionGoalsWorkingDirectory



    Directory」を作成します(例: PurposeMissionGoalsWorkingDirectory



    。 それを右クリックして、 SVN Checkout...



    選択しSVN Checkout...



    おなじみの"Url of repository"



    フィールド"Url of repository"



    、同じパスを指定します: file:///D:/planning/PurposeMissionGoalsRepository



    "OK"



    、データは作業用にコピーされ、作業ディレクトリからの変更は必要に応じてリポジトリに保存できます- 何も失われません!


繰り返しますが、念のために、毎日のSVNコマンドの最小セット:



3. wikiからpandoc経由でhtmlへ



ソースファイルをWebページに変換してから、ブラウザで表示できます。 (そこから印刷します。詳細は以下を参照してください。)マークアップ形式を変換するための素晴らしいユーティリティがあります- ダウンロードしてインストールします。



インストールウィザードは「追加タスクの選択」ページで終了します。 その上- "Add application directory to your path"



フラグのみ。 そのままにしておく必要があります。 これで、コマンドラインからpandoc



コマンドを使用できるようになり、スクリプトで使用できるようになります。 上記の構造に従っている場合はPurposeMissionGoals\tools



スクリプトファイルをPurposeMissionGoals\tools



ディレクトリに配置します。



スクリプトはさまざまな方法で作成できます。 最も単純な( .bat



)はWindowsに適しており、Pythonをクロスプラットフォームオプションにします。 ところで、カレンダースケジュールフォーム( 付録Dを参照)を生成するには、まだPythonが必要なので、まだインストールされていない場合はインストールするのが理にかなっています。 (確認するには、システムドライブのインストールディレクトリ、たとえばC:\Python27



。)



以下のテキストがファイルPurposeMissionGoals\tools\generate_html.py



に保存されている場合、その起動により、 PurposeMissionGoals



ディレクトリのテキストソースに対応する一連のWebページのPurposeMissionGoals\html



ディレクトリに表示されます。

 # ...\PurposeMissionGoals\tools\generate_html.py import os, string, shlex, subprocess, sys toolDir = os.path.dirname(sys.argv[0]) os.chdir(toolDir) for p in os.listdir('..'): (name, ext) = os.path.splitext(p) if ext == '.txt' : commandLine = ('pandoc --from markdown --to html --standalone -o ../html/%s ../%s' % (name + '.html', name + '.txt') ) args = shlex.split(commandLine) subprocess.Popen(args)
      
      





Pythonを使用しないWindowsのオプションはまだあります:

 @REM ...\PurposeMissionGoals\tools\generate_html.bat FOR /F "delims=. tokens=1" %%A IN ('dir .. /B *.txt') ^ DO pandoc --from markdown --to html --standalone -o ..\html\%%A.html ..\%%A.txt
      
      





したがって、「開発サイクル」は次のようになります。

  1. PurposeMissionGoals



    から.txt



    ファイルを編集し.txt



  2. PurposeMissionGoals\tools



    からPurposeMissionGoals\tools



    実行しPurposeMissionGoals\tools



  3. PurposeMissionGoals\html



    から.html



    ページを開き、結果を表示します。
  4. 手順1に戻ります。


ステップ2の実行は、 Notepad++



からF5



キーを押すことで構成できます。 そして、2番目のイテレーションのポイント3は、ブラウザーに切り替えてページを更新することです。 次のセクションでは、表示する際にもう1つの便利な機能を追加します。



4.ページの閲覧:Firefox Plus Tab Mix Plus



文書のセット全体を毎回開くために、開いているタブでブラウザーウィンドウを保存できます。 この機能を提供するプラグインは広告を必要としません。

[ Tools > Session Manager > Save This Window...



選択すると、必要なドキュメントが常にクリックされます。 印刷への送信時に同じ使いやすさを提供するために残っています-そして、仕事は完了です!



5. UniversalPrintを使用したFirefoxからのバッチ印刷



すべての結果を一度に印刷するには、 このプラグインが便利です。 次のメニュー項目の名前はそれ自身を表しています:

File > Universal Print > Print All Tabs







印刷時の微妙な点は1つだけでした。色付きの背景が塗りつぶされたテーブル( 付録Cを参照)を適切に表示するには、次のオプションを有効にする必要があります。

File > Page Setup > "Print Background (colours & images)"







合計



すべての作業を犠牲にして、彼らはスツールと同じくらいシンプルなシステムを手に入れました。

  1. マークアップ形式の変換。
  2. バージョニング
  3. 保存されたブラウザウィンドウで表示します。
  4. すべてのページの印刷。






問題は解決しましたか? 解決しました。 柔軟性? ドキュメントのセットを変更し、外観を変更し、データソースを接続しますか? はい、お願いします-それは器用さのために十分です! 実際 、「人々 find



grep



awk



使い方を本当に知っていたら、何千ものアプリケーションが書かれたことはなかっただろう」。 (c)



付録A.ターゲットリストのフォーマットの例





 <!--2_LongTermGoals.txt--> +6  ( 2012) ======================== *   ... * ... +1  ( 2013) ===================== *   ... * ... +5  (2017) ============= *   !!! * ... +10  (2022) ============== *   ... * ...
      
      





付録B.スローガン(ミッション、目的)-中央揃え



 <!--1_Slogans.txt--> <table cellspacing="0" cellpadding="5" width="100%" border="0"> <tr><td align=CENTER>  ===== </td></tr> <tr><td align=CENTER> AKA "Purpose" - &#45;  ( )      (,       ). </td></tr> <tr><td align=CENTER>  ==== </td></tr> <tr><td align=CENTER> AKA "Mission" - &#45;    (  ,   ). </td></tr> </table>
      
      





付録C.カテゴリ別の目標テーブルの例



 <!--4_QuarterlyGoals.txt-->  2011 -  2011:  ================================ <table cellspacing="0" cellpadding="5" width="100%" border="0"> <tr> <td bgcolor="#FFFF80">  --------- </td> <td width="100%" valign=TOP> * : - ... ; - ... . * : ... . </td></tr> <tr><td bgcolor="#FF8080">  ------------ </td> <td width="100%" valign=TOP> * : ... . * : ... . </td></tr> <tr><td bgcolor="#80FF80">  -------- </td> <td width="100%" valign=TOP> 1. . 2. . </td></tr> <tr><td bgcolor="#8080FF">  --------- </td> <td width="100%" valign=TOP> * : ... . *  : ... . * : ... . </td></tr> </table>
      
      





付録D.任意の月のカレンダーフォーム



A4カレンダーシートをいつでも(今月または来月)印刷できるように、いくつか追加します。 ディレクトリ構造内:

 [PurposeMissionGoals]
     |-...
     |-[スケジュール]
     |-...


tools



ディレクトリ-新しいスクリプト:



「生成」スクリプトの内容を以下に示します。 作業の結果として表示されるWebページは、「風景」紙の向きで印刷する必要があります。

File > Page Setup... > "Landscape"







 # ...\PurposeMissionGoals\tools\generate_calendar.py import datetime import time import htmlCalendar def main(year, month): myCal = htmlCalendar.MonthlyCalendar(year, month) # Customize calendar appearance. myCal.offset = 2 # start the week on Monday scale = 6.0 # make the calendar big myCal.dFontSize *= scale myCal.tFontSize *= scale / 2.0 # scale titles almost proportionally myCal.hFontSize *= scale / 2.0 myCal.wFontSize *= scale / 2.0 myCal.tdBorderColor = '#FFFFFF' # don't highlight today's day myCal.weekNumbers = 1 # view week numbers: 1 = yes, 0 = no brightness = 0xCC # print day numbers in gray fontColor = "#%X%X%X" % (brightness, brightness, brightness) myCal.dFontColor = fontColor myCal.saFontColor = fontColor myCal.suFontColor = fontColor # Name the generated file by month. htmlName = "../schedules/MonthlySchedule%s.html" % datetime.date(year, month, 1).strftime('%b%y') # Save the result to disk. htmlFile = open(htmlName, 'w') htmlFile.write(myCal.create()) htmlFile.close() if __name__ == "__main__": import sys year = time.localtime().tm_year month = time.localtime().tm_mon if len(sys.argv) > 1 : year = sys.argv[1] month = sys.argv[2] main(year, month)
      
      





 # ...\PurposeMissionGoals\tools\generate_calendar_next.py import time import generate_calendar # Get current month. now = time.localtime() year = int(now.tm_year) month = int(now.tm_mon) # Advance to the next month. if month == 12 : ++year month %= 12 month += 1 # Generate calendar for the next month. generate_calendar.main(year, month)
      
      





付録E. 1日のスケジュール



スケジュールが厳しく、週に何時間も前に予約する必要がある場合は、適切な形式のフォームが役立ちます。 一般的に言って、ここでの論文はすでに昨日であり、多くはGoogleのカレンダー( ""



ボタン)を使用していOutlook



。モバイルまたはOutlook



ですべての「ハード」アポイントメントを保持する方が便利です。 他の人にとっては、鉛筆の魅力を消しゴムに置き換えることはできません-迅速かつ明確に...そして、週が終わると、忙しいスケジュールから飛行機を追加することができます。



ここにいくつかの設計ソリューションがあります。 確かに、日付を手動で入力する必要があります。 これは Excelで作られ同様の製品です。 最後に、現在の日付までにタイトルが自動的に入力される、かなり「スマート」なテーブルがいくつかあります。



Excelの利点は、数式を壊さずにセルをカットアンドペーストできることです。 すべては機能しますが、見た目はすでにユニークです(そして便利です)。 同時に、印刷時に再び微妙な問題がありました-変更後に突然右側のセルの半分がページから消えた場合、この設定を調整する必要があります( OpenOffice Calc



):

> > ...







原則として、スプレッドシートを自動的に印刷し、Pythonスクリプトなどからプログラムで現在の日付を入力できます。 これは読者のための演習のままにしてください。



All Articles