• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Windows Live Writer 發(fā)布博客(cppBlog,cnblogs)

            第一次使用Live Writer發(fā)布博客做個測試。^_^

            1. MetaWeblog API地址
                cnblogs格式為:http://www.cnblogs.com/你的博客名/services/metaweblog.aspx

                cppblog格式為:http://m.shnenglu.com/你的博客名/services/metaweblog.aspx

            (在Options » Configure 頁面中可以查到)。

            2. 下載Windows Live Writer,配置步驟:

            2.1 在菜單中選擇“工具”》“帳戶”,出現(xiàn)下面的畫面:

            2.2 點擊“添加按鈕”,在出現(xiàn)的窗口中選擇“其他日志服務”,如下圖 :

            2.3 點擊“下一步”,出現(xiàn)添加日志帳戶的窗口,填入相應的內(nèi)容,日志網(wǎng)址為您的博客主頁地址,用戶名填寫您的登錄用戶名(不是Blog名,也不是顯示名稱)和密碼,如下圖:

            2.4 點擊“下一步”,出現(xiàn)配置檢測窗口

            注:如果自動配置沒有成功,需要手動配置:

            a) 在“Type of  weblog that you are using”中選擇“Custom(Metaweblog API)”。
            b) “Remote posting URL for your weblog”中輸入“http://www.cnblogs.com/你的博客名/services/metaweblog.aspx”。

            2.5 檢測過程中會出現(xiàn)“是否要發(fā)布臨時日志”窗口(如下圖),一般選擇“No”。

            2.6 檢測完畢之后,會出現(xiàn)下面的窗口,點擊“完成”就配置成功了。

             

             

             

             

             

            3. 插件

            3.1 SyntaxHighlighter

            博客園內(nèi)置支持SyntaxHighlighter代碼著色,代碼著色語法:<pre class='brush:編程語言'>代碼</pre>。

            需要注意的是:如何你使用SyntaxHighlighter代碼著色,需要將默認編輯器改為TinyMCE。如果使用CuteEditor,CuteEditor會自動去除代碼中的空格,造成代碼格式破壞。

            cnBlogs推薦的代碼著色插件是:Windows Live Writer Source Code plugin for SyntaxHighlighter

            官方網(wǎng)址:http://sourcecodeplugin.codeplex.com/

            本地下載:SourceCodePlugin_version_1.1.zip

            將WindowsLiveWriter.SourceCode.dll復制到Windows Live Writer plugin文件夾:
            * 32-bit systems: C:\Program Files\Windows Live\Writer\Plugins
            * 64-bit systems: C:\Program Files (x86)\Windows Live\Writer\Plugins

            使用方法:

            安裝成功之后,在Live Writer會出現(xiàn)“Source Code”插件,如下圖:

            點擊該插件,粘貼需要著色的代碼并選擇相應的編程語言即可。

            可能是我插件沒安裝好,插入的代碼并沒高亮,直接在CppBlog后臺編輯下先回頭研究

            /********************************************************************
            **    Copyright(c):    1987-2011    LynnRaymond
            **    All right reserved. 
            **    
            **    Version:        1.0
            **    Author:            LynnRaymond
            **    Date:            2011-8-23
            **    
            **    Module Name:    An simple example for Windows Application
            **    File Name:         helloblog.cpp
            **    Related Files:    
            **    
            **    Description:    An simple example for Windows Application
            **
            **-------------------------------------------------------
            **    Modifier:        
            **    Version:        
            **    Description:    
            ********************************************************************
            */


            // header files
            #include <windows.h>

            // WindowProc Callback function
            LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);


            // WinMain
            // The entry of windows application
            int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
            {
                
            static TCHAR szAppName[] = TEXT ("");
                HWND         hwnd;
                MSG          msg;
                WNDCLASSEX   wndclassex 
            = {0};
                wndclassex.cbSize        
            = sizeof(WNDCLASSEX);
                wndclassex.style         
            = CS_HREDRAW | CS_VREDRAW;
                wndclassex.lpfnWndProc   
            = WndProc;
                wndclassex.cbClsExtra    
            = 0;
                wndclassex.cbWndExtra    
            = 0;
                wndclassex.hInstance     
            = hInstance;
                wndclassex.hIcon         
            = LoadIcon (NULL, IDI_APPLICATION);
                wndclassex.hCursor       
            = LoadCursor (NULL, IDC_ARROW);
                wndclassex.hbrBackground 
            = (HBRUSH) GetStockObject (WHITE_BRUSH);
                wndclassex.lpszMenuName  
            = NULL;
                wndclassex.lpszClassName 
            = szAppName;
                wndclassex.hIconSm       
            = wndclassex.hIcon;
                
                
            if (!RegisterClassEx (&wndclassex))
                
            {
                    MessageBox (NULL, TEXT (
            "RegisterClassEx failed!"), szAppName, MB_ICONERROR);
                    
            return 0;
                }

                hwnd 
            = CreateWindowEx (WS_EX_OVERLAPPEDWINDOW, 
                                      szAppName, 
                                      TEXT (
            "WindowTitle"),
                                      WS_OVERLAPPEDWINDOW,
                                      CW_USEDEFAULT, 
                                      CW_USEDEFAULT, 
                                      CW_USEDEFAULT, 
                                      CW_USEDEFAULT, 
                                      NULL, 
                                      NULL, 
                                      hInstance,
                                      NULL); 
                                      
                ShowWindow (hwnd, iCmdShow);
                UpdateWindow (hwnd);
                
                
            while (GetMessage (&msg, NULL, 00))
                
            {
                    TranslateMessage (
            &msg);
                    DispatchMessage (
            &msg);
                }

                
            return msg.wParam;
            }


            // WindowProc Callback function
            LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
            {
                HDC hdc;
                PAINTSTRUCT ps;
                
            switch (message)
                
            {
                
            case WM_CREATE:
                    
            return (0);
                    
                
            case WM_PAINT:
                    hdc 
            = BeginPaint (hwnd, &ps);
                    TextOut (hdc, 
            00, L"A Window!"27);
                    EndPaint (hwnd, 
            &ps);
                    
            return (0);
                    
                
            case WM_DESTROY:
                    PostQuitMessage (
            0);
                    
            return (0);
                }

                
            return DefWindowProc (hwnd, message, wParam, lParam);
            }

             

            3.2 Paste from Visual Studio插件,下載

             

             

            該插件代碼使用<pre>標簽,沒有空格、換行HTML標簽(節(jié)省一些HTML代碼),提供class="code"自定義<pre>標簽樣式。

            高亮顯示代碼,只要從Visual Studio或者SQL Server中復制一下,然后點擊“插入from Visual Studio...”。其HTML代碼就自動生成了~,唯一的缺點就是每次會在結(jié)尾加一個空鏈接,可能來注明版權吧。

            使用Windows Live Writer寫博文,建議把博客園編輯器設置為“純文本框”(后臺選項---Preferences---默認編輯器或者后臺左邊操作快捷通道),千萬不要使用CuteEditor,這個編輯器存在一些BUG,由于這個插件不是使用“&nbsp;”來縮進的,直接是空白用于縮進,編輯器存在BUG會過濾掉每行前面的空白,這樣導致你的代碼沒有縮進,在一行輸出。

            Paste插件看起來正常,除了中間一些tab沒能對齊:
            /******************************************************************** ** Copyright(c): 1987-2011 LynnRaymond ** All right reserved. ** ** Version: 1.0 ** Author: LynnRaymond ** Date: 2011-8-23 ** ** Module Name: An simple example for Windows Application ** File Name: helloblog.cpp ** Related Files: ** ** Description: An simple example for Windows Application ** **------------------------------------------------------- ** Modifier: ** Version: ** Description: *********************************************************************/ // header files
            #include <windows.h> // WindowProc Callback function LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); // WinMain // The entry of windows application int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT (""); HWND hwnd; MSG msg; WNDCLASSEX wndclassex = {0}; wndclassex.cbSize = sizeof(WNDCLASSEX); wndclassex.style = CS_HREDRAW | CS_VREDRAW; wndclassex.lpfnWndProc = WndProc; wndclassex.cbClsExtra = 0; wndclassex.cbWndExtra = 0; wndclassex.hInstance = hInstance; wndclassex.hIcon = LoadIcon (NULL, IDI_APPLICATION); wndclassex.hCursor = LoadCursor (NULL, IDC_ARROW); wndclassex.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH); wndclassex.lpszMenuName = NULL; wndclassex.lpszClassName = szAppName; wndclassex.hIconSm = wndclassex.hIcon; if (!RegisterClassEx (&wndclassex)) { MessageBox (NULL, TEXT ("RegisterClassEx failed!"), szAppName, MB_ICONERROR); return 0; } hwnd = CreateWindowEx (WS_EX_OVERLAPPEDWINDOW, szAppName, TEXT ("WindowTitle"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); ShowWindow (hwnd, iCmdShow); UpdateWindow (hwnd); while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; } // WindowProc Callback function LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; switch (message) { case WM_CREATE: return (0); case WM_PAINT: hdc = BeginPaint (hwnd, &ps); TextOut (hdc, 0, 0, L"A Window!", 27); EndPaint (hwnd, &ps); return (0); case WM_DESTROY: PostQuitMessage (0); return (0); } return DefWindowProc (hwnd, message, wParam, lParam); }

            posted on 2011-08-23 02:06 LynnRaymond 閱讀(856) 評論(0)  編輯 收藏 引用 所屬分類: 軟件與工具

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統(tǒng)計

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            九九精品99久久久香蕉| 国产精品久久久久国产A级| 国产精品久久久久久久午夜片| 精品久久久久久亚洲精品| 亚洲国产精品婷婷久久| 久久久久亚洲精品中文字幕| 久久久久人妻一区二区三区 | 日韩精品国产自在久久现线拍| 久久精品国产半推半就| 亚洲国产精品无码久久青草| 久久天天躁狠狠躁夜夜96流白浆| 青青青青久久精品国产 | 高清免费久久午夜精品| 久久精品国产99久久丝袜| 久久婷婷午色综合夜啪| 久久久91精品国产一区二区三区 | 18禁黄久久久AAA片| 色综合合久久天天综合绕视看| 亚洲成av人片不卡无码久久 | 国产精品久久久久影院嫩草| 久久影院午夜理论片无码 | 欧美激情精品久久久久久久| 久久棈精品久久久久久噜噜| 久久久精品国产| 日本加勒比久久精品| 99久久精品国产一区二区三区| 久久人人爽人人爽人人片AV不| 亚洲国产香蕉人人爽成AV片久久 | 无码专区久久综合久中文字幕 | 亚洲国产精品无码久久久不卡 | 久久99国产精品久久| 婷婷久久香蕉五月综合加勒比| 亚洲国产精品嫩草影院久久| 久久影视综合亚洲| 久久涩综合| 久久影视综合亚洲| 亚洲伊人久久成综合人影院| 日本高清无卡码一区二区久久| 九九热久久免费视频| 亚洲欧美一区二区三区久久| 2020久久精品亚洲热综合一本|