Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2347165
  • 博文数量: 527
  • 博客积分: 10343
  • 博客等级: 上将
  • 技术积分: 5565
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-26 23:05
文章分类

全部博文(527)

文章存档

2014年(4)

2012年(13)

2011年(19)

2010年(91)

2009年(136)

2008年(142)

2007年(80)

2006年(29)

2005年(13)

我的朋友

分类: WINDOWS

2007-12-06 22:12:42

codeproject 大名鼎鼎, 因为要求提供可编译/可运行的源代码, 文章和代码在网上编程社区中算是质量上乘的.

但是, 其网站做的并不十分好用, 如果在上面看别人的文章或下载别人写好的代码, 倒无什么大碍, 但如果想发表一篇文章, 附带源码, 屏幕截图什么的, 实在不容易.

1. 首先得注册一个帐号. 以此帐号登录

2. 在其网页的右上部分有一个 "Articles"的菜单, 鼠标hover上去之后会弹出一个子菜单, 选择其中的"Submit an article", 这会打开一个页面, 在这个页面的标题下面, 有一行文字:
Submit article 
Submit your articles directly using the . Please make sure you read the guidelines below.

点击那个链接会打开一个向导让你上传自己的文章. 上传自己的文章还有一个办法是发一封mail给 它的某个固定邮箱, 我信不过这个办法, 不用.

3. 真正点击上面的链接之前, 你就得先做足功课, 写好你的文章, 做好screen shot, 展示图片, 把相关的代码和演示项目打包成 zip文件, 保证在300K 之内, 压缩用最大压缩比, 保证没有 .obj, .suo, .user等不必要的文件. 因为在这个地方绕过弯路, 给自己突出重点提个醒:

所有要准备的文件分三类:
  • HTML 文件
这个是你要写的文件, 是你要发的贴子的主体, 图片和源代码下载都通过链接在里面体现, 另外就是用文字介绍你的idea了. 最好的做法是从 codeproject上下载一个 template.zip的东东, 直接修改它里面提供的模板文件.

注意这个文件却不是你要上传的, 而是接下来贴在一个编辑器里的.
  • 图片
这个不要压缩, 我的最爱是用PNG格式, 无损压缩, 对于电脑生成的图片有很好的压缩比. 多个文件也不必要根据其意义命名, 我的做法是按你的文章的"Base name"后面加1, 2, 这样命名, 比如
EasyHelp1.PNG
EasyHelp2.PNG
  • 源代码.
典型的做法是两种源代码, 一种是你要 show 的代码, 因为它很可能是个独立的组件, 编译成单独的dll, 所以还需要有一个 demo 的代码, 是你自己写的一个小程序, 演示如何用你的组件. 最好最好在你的 demo 里面包含可直接运行的程序, 根据我自己的经验, 往往想取最省事的, 在codeproject上找现成方案时, 第一优先看 screen shot, 尤其是UI方面的, 看效果是不是够炫够亮. 感兴趣了才下载代码, 下载完代码往往不想打开重编译, 因为很可能电脑上已经开着一个工作用的 solution了, 不想打开两个IDE, 也不想把工作中的 solution关掉再打开, 所以最贴心的做法是提供可直接运行的 exe, 当然要保证这个exe所 reference的DLL都在场. 别干砸场子的事.

4. 运行上面的wizard.
4.1 第一步

其中那个 BaseName, 最好起名成一个单词, 因为它将作为内部的目录名, 起成规规矩矩的名字, 少生事. 下面的东西顾名思义, 不用解释, 但是, 确定了 Section和 SubSection之后, codeproject也就在内部唯一确定了你的这篇文章, 它先用 Section分类, 再用 SubSection分子类, 最后是你的 BaseName, 一旦你在提交的半中间失败了, 我就是碰见了这种情况, 那个 BaseName还是被它录到了系统里, 你重新再来时就甭想再用这个名字了, 所以最好是做好准备工作, 一气呵成.

4.2 上传文件.
这里面加入你的 .zip文件, 图片文件, 一共提供了10个edit box供你放入文件名. 足够用了.

4.3 编辑文章
这是最险恶的一个页面.


它最上面是显示3个你上传成功的文件. 这没什么说的, 右边提供了快捷方法让你直接在文章编辑框中引用这三个文件.

问题就出在下面的文章编辑框中, 最右边的那个 [<>] 按钮, 点击了之后是切换HTML代码和正常的文字视图. 刚进这个页面时, 你上传的图片文件会有一个成功显示, 注意, 如果上传了两个图片文件, 只有一个(往往是第一个)成功显示, 不知道为什么, 而此时什么都不做, 切换[<>]到HTML代码, 看到那个能成功显示的图片, 它的URL是这样指定的:


也就是说, 是个完整的URL, 而代码 zip文件和其它的图片的URL则仅仅是下面的形式:

EasyHelp/EashHelp_Demo.zip
EashHelp/EashHelp2.PNG

是的, 不一致, 但看起来那个完整版的是正确的, 毕竟它能正确显示(注意关于代码能否下载此时无法验证), 但是, 一旦你手工把HTM代码中的URL自作聪明地改成它这个样子, 你提交后的文章就挂了, 里面的代码也不能下载, 图片也不能正确显示.

问题在于, 真正的 EashHelp/EasyHelp2.PNG 这样的短的URL形式反而是正确的. 因为这是提交之后能直接被引用到的位置, 但是在编辑时你却不能看到它. 所见非所得, 所不见反而或能有所得.

关于那个HTML代码编辑框, 它里面预先给你塞了一堆模板的东西, 直接在网页里面编辑大块的文字很危险, 一个你就全部玩完, 我从不敢这么干, 我是把自己写好的HTML, 把其源代码贴过来, 保证里面的URL是"正确"的, 尽管在这个视图中是看不到东西的. 然后预览一下, 提交文章.

如果提交文章之后发现图片或代码不正确, 还有返工的机会.

但这里又有一个误导人的地方:
那个"Broken Article" 的链接, 是给你的读者用的, 如果你的读者发现文章链接不存在, 或代码下载不了, 他报错给codeproject 网站用的, 而下面的 Modify, 才是给作为作者的你用的, 因为CU中的图片不能过长, 上面的上下两部分其实在codeproject上是同一水平位置的, 很容易混淆.

还有一个问题, 注册之后, 我看自己的信息, code project把我标成一个 "Web developer", 点击到自己的设置信息里, 却发现没有一个地方可以设置此类信息. 不知道code project是怎么知道我是干哪行的.


阅读(1737) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~