用GAE做代码贴
其实也是一个很小的应用,需要借助js代码高亮脚本,可以到http://alexgorbatchev.com/wiki/SyntaxHighlighter:Download去下载
下载完,解压到一个新建的目录里面,然后新建一个core.py
#!/usr/bin/env python import cgi import datetime import wsgiref.handlers from google.appengine.ext import db from google.appengine.api import users from google.appengine.ext import webapp Out ="""<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Your code</title> <script type="text/javascript" src="scripts/shCore.js"></script> <script type="text/javascript" src="scripts/shBrushBash.js"></script> <script type="text/javascript" src="scripts/shBrushCpp.js"></script> <script type="text/javascript" src="scripts/shBrushCSharp.js"></script> <script type="text/javascript" src="scripts/shBrushCss.js"></script> <script type="text/javascript" src="scripts/shBrushDelphi.js"></script> <script type="text/javascript" src="scripts/shBrushDiff.js"></script> <script type="text/javascript" src="scripts/shBrushGroovy.js"></script> <script type="text/javascript" src="scripts/shBrushJava.js"></script> <script type="text/javascript" src="scripts/shBrushJScript.js"></script> <script type="text/javascript" src="scripts/shBrushPhp.js"></script> <script type="text/javascript" src="scripts/shBrushPlain.js"></script> <script type="text/javascript" src="scripts/shBrushPython.js"></script> <script type="text/javascript" src="scripts/shBrushRuby.js"></script> <script type="text/javascript" src="scripts/shBrushScala.js"></script> <script type="text/javascript" src="scripts/shBrushSql.js"></script> <script type="text/javascript" src="scripts/shBrushVb.js"></script> <script type="text/javascript" src="scripts/shBrushXml.js"></script> <link type="text/css" rel="stylesheet" href="styles/shCore.css"/> <link type="text/css" rel="stylesheet" href="styles/shThemeDefault.css"/> <script type="text/javascript"> SyntaxHighlighter.config.clipboardSwf = 'scripts/clipboard.swf'; SyntaxHighlighter.all(); </script> </head> <body > <h1>Here is your Code</h1> <p>Good Luck!</p> <pre class="brush: %s;"> %s </pre> </html> """ class CodeStr(db.Model): content = db.TextProperty() date = db.DateTimeProperty(auto_now_add=True) lang = db.StringProperty(multiline=False) class InputCode(webapp.RequestHandler): def get(self): self.response.out.write('<html><body>') self.response.out.write('Code:') self.response.out.write("""<form action="/sc" method="post"> <div><select size="4" id= "lang" name="lang"> <option>python</option> <option>js</option> <option>xml</option> <option>bash</option> </select></div> <div><textarea name="content" rows="8" cols="70"></textarea></div> <div><input type="submit" value="Submit"></div> </form> </body>""") class SaveCode(webapp.RequestHandler): def post(self): self.code = CodeStr() self.code.content = self.request.get('content') self.code.lang = self.request.get('lang') self.code.put() self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('Your code\'s ID is %s\n' % self.code.key().id()) self.response.out.write('You can visit http://billgaesh.appspot.com/o?id=%s to get your code\n' % self.code.key().id()) self.response.out.write('Good Luck') def get(self): self.response.out.write('Sorry This doesn\'t work!') class OutCode(webapp.RequestHandler): def get(self): global Out id = self.request.get('id') key = db.Key.from_path("CodeStr", int(id)) query = CodeStr.all() query.ancestor(key) code = query.get() s = code.content.replace('<', '<').replace('>', '>') O = Out % (code.lang, s) self.response.out.write(O) application = webapp.WSGIApplication([ ('/i', InputCode), ('/sc', SaveCode), ('/o', OutCode) ], debug=True) def main(): wsgiref.handlers.CGIHandler().run(application) if __name__ == '__main__': main()
在新建一个叫app.yaml的文件
application: * version: 13 runtime: python api_version: 1 handlers: - url: /i script: core.py - url: /sc script: core.py - url: /o script: core.py - url: /src static_dir: src - url: /scripts static_dir: scripts - url: /styles static_dir: styles - url: / static_files: test.html upload: test.html
把其中的
application: *
改成你自己注册的app名称,然后用GAE SDK上传到GAE的服务器上就可以了
在 http://*.appspot.com/i 里面输入代码,然后会给你一个ID,在http://*.appspot.com/o?id=** 里面就可以看到你的代码了
目前还比较垃圾,如果不满意的话,可以自行修改以下
http://billgaesh.appspot.com/i 是我的代码贴地址,欢迎使用
目前已知的BUG是如果代码中有“”“,可能会跨站……
2022年9月27日 21:07
The Kendriya Vidyalaya Sangathan has provided the KVS 7th Class Model Paper 2023 to all regional students studying at all states and union territories of the country, and the Upper primary education STD-7 sample model paper has provided with an important question to both medium student at their regional language of the school. KVS 7th Class Model Paper The Kendriya Vidyalaya Sangathan has provided the KVS 7th Class Model Paper 2023 to all regional students studying at all states and union territories of the country, and the Upper primary education STD-7 sample model paper has provided with an important question to both medium student at their regional language of the school.