• <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 點(diǎn)擊“添加按鈕”,在出現(xiàn)的窗口中選擇“其他日志服務(wù)”,如下圖 :

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

            2.4 點(diǎn)擊“下一步”,出現(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)下面的窗口,點(diǎn)擊“完成”就配置成功了。

             

             

             

             

             

            3. 插件

            3.1 SyntaxHighlighter

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

            需要注意的是:如何你使用SyntaxHighlighter代碼著色,需要將默認(rèn)編輯器改為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復(fù)制到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”插件,如下圖:

            點(diǎn)擊該插件,粘貼需要著色的代碼并選擇相應(yīng)的編程語言即可。

            可能是我插件沒安裝好,插入的代碼并沒高亮,直接在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>標(biāo)簽,沒有空格、換行HTML標(biāo)簽(節(jié)省一些HTML代碼),提供class="code"自定義<pre>標(biāo)簽樣式。

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

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

            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)  編輯 收藏 引用 所屬分類: 軟件與工具


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


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

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久99热这里只有精品国产| 77777亚洲午夜久久多喷| 国产情侣久久久久aⅴ免费| 亚洲va中文字幕无码久久| 久久婷婷激情综合色综合俺也去| 色综合久久久久综合体桃花网| 午夜精品久久久久久久久| 久久久久久综合一区中文字幕| 66精品综合久久久久久久| 久久无码专区国产精品发布| 日韩av无码久久精品免费| 久久婷婷综合中文字幕| 久久91精品国产91| 91久久精一区二区三区大全| 国产伊人久久| 综合网日日天干夜夜久久| 国产99久久九九精品无码| 久久午夜夜伦鲁鲁片免费无码影视| 国产精品一区二区久久精品| 日本精品久久久久影院日本| 久久久久久久亚洲Av无码| 一本一道久久a久久精品综合| 久久精品中文无码资源站| 亚洲欧洲久久av| 精品久久久久一区二区三区| 色婷婷综合久久久久中文一区二区 | 久久精品夜色噜噜亚洲A∨| 色偷偷久久一区二区三区| 99久久香蕉国产线看观香| 精品多毛少妇人妻AV免费久久| 久久久一本精品99久久精品88| 亚洲国产成人久久精品99| 国产精品嫩草影院久久| 亚洲国产精品久久66| 久久综合国产乱子伦精品免费| 久久只有这精品99| 亚洲美日韩Av中文字幕无码久久久妻妇| 国产精品久久自在自线观看| 久久精品国产亚洲AV麻豆网站| 久久久久高潮综合影院| 久久国内免费视频|