Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Работающий плагин WP-Code

#1 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1
0

Отправлено 01 Май 2010 - 22:59

Ищу работающий плагин для WP, который будет подсвечивать код и корректно его отображать. Типа как _http://wordpress.org...ss/screenshots/ Но работающий, тоесть Вы сами его ставили, а у Вас не было проблем в его использовании.
Надеюсь мне помогут :)


 

 

  • 0


#2 reaboom

reaboom
  • Пользователь
  • 40 сообщений
  • Репутация: 0

Отправлено 02 Май 2010 - 05:24

http://wordpress.org...gins/wp-syntax/ - устанавливал, работает хорошо, подсвечивает на стороне сервера с помощью библиотеки GeSHi.
  • 0

#3 Banderas

Banderas
    Topic Starter
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 02 Май 2010 - 09:01

2*reaboom* отлично! То, что я хотел! Всё отлично работает! Спасибо :rolleyes:
  • 0


#4 Matt

Matt
  • Пользователь
  • 774 сообщений
  • Репутация: 2

Отправлено 02 Май 2010 - 12:20

А для чего он нужен (я понимаю, что код подсвечивать), точнее, какую пользу он может принести, как работает?
  • 0

#5 reaboom

reaboom
  • Пользователь
  • 40 сообщений
  • Репутация: 0

Отправлено 02 Май 2010 - 12:28

Matt, странный вопрос... (всмысле какую пользу приносит)
Вам удобнее читать к примеру, так:
class DateField(Field):
	widget = DateInput
	default_error_messages = {
		'invalid': _(u'Enter a valid date.'),
	}

	def __init__(self, input_formats=None, *args, **kwargs):
		super(DateField, self).__init__(*args, **kwargs)
		self.input_formats = input_formats or DEFAULT_DATE_INPUT_FORMATS

	def clean(self, value):
		"""
		Validates that the input can be converted to a date. Returns a Python
		datetime.date object.
		"""
		super(DateField, self).clean(value)
		if value in EMPTY_VALUES:
			return None
		if isinstance(value, datetime.datetime):
			return value.date()
		if isinstance(value, datetime.date):
			return value
		for format in self.input_formats:
			try:
				return datetime.date(*time.strptime(value, format)[:3])
			except ValueError:
				continue
		raise ValidationError(self.error_messages['invalid'])

DEFAULT_TIME_INPUT_FORMATS = (
	'%H:%M:%S',	 # '14:30:59'
	'%H:%M',		# '14:30'
)
или так:
class DateField(Field):
	widget = DateInput
	default_error_messages = {
		'invalid': _(u'Enter a valid date.'),
	}

	def __init__(self, input_formats=None, *args, **kwargs):
		super(DateField, self).__init__(*args, **kwargs)
		self.input_formats = input_formats or DEFAULT_DATE_INPUT_FORMATS

	def clean(self, value):
		"""
		Validates that the input can be converted to a date. Returns a Python
		datetime.date object.
		"""
		super(DateField, self).clean(value)
		if value in EMPTY_VALUES:
			return None
		if isinstance(value, datetime.datetime):
			return value.date()
		if isinstance(value, datetime.date):
			return value
		for format in self.input_formats:
			try:
				return datetime.date(*time.strptime(value, format)[:3])
			except ValueError:
				continue
		raise ValidationError(self.error_messages['invalid'])

DEFAULT_TIME_INPUT_FORMATS = (
	'%H:%M:%S',	 # '14:30:59'
	'%H:%M',		# '14:30'
)

Как работает - исходники не смотрел, но думаю код разбивается на лексемы и каждую из них в зависимости от типа выделяет определенными тегами с определенными стилями, а потом, собирает все вместе.
  • 0

#6 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 05 Май 2010 - 09:41

А как вам вариант использовать встроенную функцию PHP highlight_string(); ?
  • 0

#7 reaboom

reaboom
  • Пользователь
  • 40 сообщений
  • Репутация: 0

Отправлено 05 Май 2010 - 12:07

Но она подсвечивает только php, и вроде-бы html...


  • 0

#8 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 05 Май 2010 - 15:25

Ну в принципе да. =)
Но вы попробуйте. =)
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru