Eu gosto de escrever no Geektimes , mas há um inconveniente. Essa é a necessidade de usar a marcação personalizada no estilo habra e transferir manualmente as fotos para o habrastorage.org . Escrevo artigos no MS Word no Windows . Sinceramente, gastei cerca de uma hora para encontrar soluções prontas para esse problema. O melhor encontrado foi uma análise da API habrastorage para automatizar o carregamento de imagens, mas parece desatualizado. Houve uma menção a um determinado conversor, mas com um link quebrado.A essência da automação proposta é preparar o texto para ser copiado na janela do editor Geektimes com o clique de um botão no Word . E depois de copiar, para que as fotos apareçam automaticamente lá. A tecnologia é muito simples. O MS Word , como você sabe, pode conter código incorporado no Visual Basic . Este é um dialeto especial do Visual Basic chamado VBA ( Visual Basic for Applications.) No VBA, você pode escrever scripts bastante complexos para converter documentos em Word. Os procedimentos escritos no VBA são chamados de macros. As macros no Word podem ser chamadas explicitamente em um menu especial ou você pode atribuir uma chamada à execução delas a um botão específico na barra de ferramentas.Fotos Geektimes ele bombeia para si mesmo. Para fazer o download de algum lugar, ele precisa colocar as fotos em algum lugar da Internet. Para não gastar meu tempo desenvolvendo e analisando várias APIs para sites gratuitos de hospedagem de imagens como photos.google.com, decidi recorrer ao bom e velho FTP . Adquirimos ou de qualquer forma recebemos um serviço de hospedagem de sites com download de conteúdo FTP . Sam MS Word VBAEle não possui ferramentas para trabalhar com FTP , mas interage bem com objetos COM (ou seja, arquivos DLL especiais ). Para trabalhar no FTP , foi usado um módulo COM do projeto WinSCP .A macro VBA escrita por mim primeiro substitui os estilos especificados do documento do Word pela marcação do texto e, em seguida, converte o documento do Word em um documento HTML . A representação HTML em si não é necessária para nós. Como resultado da conversão, o Word cria um subdiretório com todas as imagens do documento no formato. png. As imagens em massa são transferidas para um determinado servidor FTP . Depois disso, a macro exclui as imagens no documento e substitui em seu lugar links para o site onde essas imagens foram baixadas. Ele permanece na janela do documento do Word para selecionar todo o texto e copiá-lo para a janela do editor no Geektimes . Clique em um botão no Geektimes para salvá-lo como rascunho. Em seguida, clique novamente em edição e verifique se o Geektimes já baixou as fotos e as substituiu por links para habrastorage . O trabalho está feito.Instale o WinSCP
Faça o download do arquivo . NET assembly / COM e descompacte-o em um diretório acessível.Neste diretório, execute a linha de comando: % WINDIR% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ RegAsm.exe WinSCPnet.dll / codebase /tlb:WinSCPnet64.tlbÉ isso aí.Como criar um artigo sobre esta tecnologia.
Para simplificar, um arquivo de modelo , Article_GT.dotm , foi criado , contendo a macro VBA necessária e um ponteiro para conectar-se ao objeto WinSCP .Para examinar a macro e verificar a operacionalidade de conectar o objeto WinSCP , depois de abrir o arquivo de modelo, clique neste botão na barra de ferramentas do Word
e selecione Exibir macros nela e , em seguida, em Editar . Uma janela desse tipo deve aparecer:
Nesta janela, no menu Ferramentas-> Referências , esse diálogo é aberto. Deve ser marcado com o WinSCP .
Se você abrir o arquivo diretamente no Googleuma folha em branco será aberta. É isso mesmo, o modelo está vazio. Nele, apenas o estilo Normal e o cabeçalho 1 se assemelham ao estilo habr. Você deve escrever o texto você mesmo.A macro no modelo deve ser ajustada antes do uso. No início da macro é um blocoConst TMPNAME = "TMP" '
Const URL = "http://www..ru"
Const FTPPATH = "/public_html/imgs/" ' FTP,
Const WEBPATH = "/imgs/" ' ,
Const HOSTNMAE = "ftp..ru" ' FTP
Const USERNAME = " " ' FTP
Const PASSWORD = " " '
Você precisa abrir o arquivo como modelo no Word , inserir os parâmetros corretos e salvar como modelo.Depois, você pode clicar no modelo e escrever um artigo. Salve o artigo e chame a macro ConvertToHabr .Se o download das imagens for bom, isso será gravado na barra de status na janela do Word .O documento inicial é fechado, em seu lugar o texto convertido é exibido.Isenção de responsabilidade
Este não é um conversor totalmente funcional. Agora, ele substitui apenas os estilos das fontes Negrito e Itálico pelas marcas Haber, altera os estilos Cabeçalho 1..5 pelas marcas e substitui as marcas em vez de hiperlinks e imagens. Como isso é tudo o que eu precisava deste conversor ao escrever este artigo.O arquivo de modelo está disponível aqui e está disponível para todos para aprimoramento, mas não posso garantir a continuação deste projeto, seu apoio, sua qualidade, sua pureza de patentes e a vida eterna deste link .